DeepLink方式拉起钱包操作

技术交流:
使用 DeepLink方式拉起钱包操作转账,Android可以进行弹出转账页面,然而IOS不行,请教大佬有何方式可以解决,参考其他问题答案:iOS目前不支持“action”:“transfer”这种方式,建议使用action: pushTransaction。这种方式打开,显示钱包“未导入”。

使用pushTransaction,前提要签名的钱包已经导入

你好。不是创建好对应的链的钱包就好了嘛?
比如:我创建一个波场链(TRON)钱包,blockchains传参也对应修改了,form,to,以及contract合约地址都对应改过。依旧IOS是无法达到转账页面。Android无问题,并且可进行转账。

pushTransaction的参数传递和transfer不一样,需要完整的transaction

pushTransaction 中的 txData,里面的参数不是很明白,能帮我注解一下嘛?里面data hash值?这是如何得到的呢?

txData 的示例 看这里:

具体每个值是怎样来的,需要你对这个链有了解

为啥不同Android 授权登录 返回的json不一致呀?没有result,data,message,只有data里面的数据

不同Android 是什么意思,不同的钱包版本?同一份数据,同一个钱包地址,返回的json是一样的,你自己检查一下数据

我拿官网的Demo测试也显示未导入钱包,不知道是什么原因,系统是ios
const param = {
callbackUrl: “taaInitData”,
txData: { "visible": false, "txID": "0ff31369f276cd2a1f2d0f45274256cccee5095a0f4dc90a3b12af4d5fdded8b", "raw_data": { "contract": [{ "parameter": { "value": { "data": "a9059cbb000000000000000000000000593a115d4e04249a7e4c02a2150b596081b37f9f00000000000000000000000000000000000000000000000000000000000186a0", "owner_address": "41f90a4115ca0859c0db8415d73b3a22626506cbbe", "contract_address": "41a614f803b6fd780986a42c78ec9c7f77e6ded13c" }, "type_url": "type.googleapis.com\/protocol.TriggerSmartContract" }, "type": "TriggerSmartContract" }], "ref_block_bytes": "865d", "ref_block_hash": "97a350e4aa8501ef", "expiration": 1695098259000, "fee_limit": 100000000, "timestamp": 1695098200128 }, "raw_data_hex": "0a02865d220897a350e4aa8501ef40b88cebddaa315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541f90a4115ca0859c0db8415d73b3a22626506cbbe121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb000000000000000000000000593a115d4e04249a7e4c02a2150b596081b37f9f00000000000000000000000000000000000000000000000000000000000186a070c0c0e7ddaa31900180c2d72f" },
action: “pushTransaction”,
actionId: “web-db4c5466-1a03-438c-90c9-2172e8becea5”,
blockchains: [{
chainId: “728126428”,
network: “tron”
}],
dappIcon: “icon.png”,
contract:“TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t”,
from: ‘TJk1QkHMWmfYK1jgwFfTzxMcTgXkKk7avF’,
to: ‘TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t’,
dappName: “zs”,
protocol: “TokenPocket”,
version: “2.0”
};
const encodedParam = encodeURIComponent(JSON.stringify(param));
const deeplinkUrl = `tpoutside://pull.activity?param=${encodedParam}

你要操作的钱包是不是没导入进去?

操作的钱包就是tp里面的钱包地址,from那个字段