考虑到微信屏蔽了scheme跳转,我首先使用了通用链接的方式。但是它的缺点也很明显:①安卓的App link无法跳转,②用户在没有安装App的条件下,在通过安装引导安装成功打开应用后,无法跳转到目标页。
基于这些问题,我在考虑是否有一种更通用的办法来实现在各个平台通过点击分享链接后都能在唤起应用的情况下跳转到目标页呢?
首先分析我们的目标诉求:1.唤起App,2.跳转到目标页
抛开第一步,如果单单以结果为导向,只考虑如何跳转到目标页,相信所有人都知道:通过参数判断跳转,并传递数据。
到了这里就很有意思了,这些参数从何而来?当然是从H5而来!但是这里有一个问题:在用户没有安装App的情况下,尤其是iOS,用户都是到应用商店来下载App(这里不考虑企业级签名App),再打开App。App Store也不会允许你传递参数(上下文信息)给他,同时在你点击打开按钮的时候帮你把需要的参数传递给你的App,不是吗?
也就是说:在H5交互的时候,其实已经把需要的参数放在了终端的某个地方,当唤起App的时候,若参数符合设置的参数规定,就跳转到对应的目标页面。
进一步思考:这个恰当的地方不能太过于复杂,也不能太过于明显,而且苹果终端设置了沙盒机制,那么这个地方应该是公共的、易于获取的。综合以上这些特点,最佳的方式是使用剪切板(当然,这是我网络多方检索后查到的😊)
最后呢,我确定当用户在H5点击打开App后,统一跳转到应用宝的下载页面(当然之前要配置好iOS端的下载链接),同时把需要的参数信息存储到剪贴板里面,最好做下加密。最后在唤起App的时候,通过获取剪贴板的信息,来判断是否跳转到具体目标页面。
反思和总结:处理任何问题,都要有自己的、具体的、清晰的、科学的方法论,这样才能一步步接近处理问题的本质。发现、分析、总结和复盘,不断更正和完善自己的方法论,所有问题都会别迎刃而解。
---与诸君共勉!
网友评论