昨天通过对支付宝分享链接进行解码,无意间发现支付宝搜索是可以调用的。
以下是支付宝搜索的分享链接:
https://render.alipay.com/p/s/i/?scheme=alipays://platformapi/startapp?appId=20001003&actionSrc=share&keyword=饿了么&queryWord=饿了么&v2=true&sugFeed=true&frontCode=globalSearchFront&sugCode=globalSearchSug&resultCode=globalSearchScene&appClearTop=false&startMultApp=YES&searchType=unified&chInfo=ch_share__chsub_CopyLink&apshareid=0B5E8FA6-9A1A-4DC0-94B7-0317A6D093ED
我们可以看出 scheme= 后面就是 URL Scheme 调用地址。通过查询可知 alipays://platformapi/startapp?appId=20001003 对应的就是支付宝搜索,我们得到:
alipays://platformapi/startapp?appId=20001003&actionSrc=share&keyword=饿了么&queryWord=饿了么&v2=true&sugFeed=true&frontCode=globalSearchFront&sugCode=globalSearchSug&resultCode=globalSearchScene&appClearTop=false&startMultApp=YES&searchType=unified&chInfo=ch_share__chsub_CopyLink&apshareid=0B5E8FA6-9A1A-4DC0-94B7-0317A6D093ED
得到 URL Scheme 后,填入具体的 keyword 参数就可以了。可以通过快捷指令进行测试。
例如我们把 keyword 替换为 Apple 那么得到地址:
alipays://platformapi/startapp?appId=20001003&actionSrc=share&keyword=Apple&queryWord=Apple&v2=true&sugFeed=true&frontCode=globalSearchFront&sugCode=globalSearchSug&resultCode=globalSearchScene&appClearTop=false&startMultApp=YES&searchType=unified&chInfo=ch_share__chsub_CopyLink&apshareid=0B5E8FA6-9A1A-4DC0-94B7-0317A6D093ED
使用快捷指令测试,可以切换到支付宝,并搜索关键词 “Apple” 测试捷径如下:
https://www.icloud.com/shortcuts/0d526d2c14894254b94e55b8da05430c
在 keyword 后面的都是些细节参数,其实可以去除,那么简化版URL Scheme 为:
alipays://platformapi/startapp?appId=20001003&actionSrc=share&keyword=Apple&queryWord=Apple
总结:此方法可以用于web端或APP联动跳转到支付宝搜索,也可以使快捷指令开发者拥有更多的玩法,一定程度上实现了APP间的信息传递。