关于iOS微信客户端中禁止AppStore链接跳转的问题(分情况)


最近做的微信银行的项目进入了自测阶段,然后在App下载功能自测中遇到一个问题(Android没问题,iOS有问题),鼓捣大半天才发现代码没问题,只是因为公众号自定义菜单没有配好,导致只能以页面链接的形式测试,才发现链接在不同类型的对话框中的不同。

问题场景:App下载功能,点击“下载手机银行”按钮,js代码判断手机系统(Android或iOS),发接口请求后端跳转链接,Android跳转链接是腾讯应用宝中手机银行的http地址,iOS跳转链接是AppStore中手机银行的http地址。

问题描述:当点击“下载手机银行”按钮时,接口请求返回无异常,但是iOS返回的http地址使用location.href无法跳转(Android正常跳转)。

求索结论:

  1、当我把App下载功能页面链接通过微信聊天发送给同事时,同事(iPhone13)在微信聊天窗口点击链接进入App下载页面,点击下载按钮时,iOS微信客户端无法正常打开AppStore。

  2、当同事将我发给他的页面链接,随便找了个公众号,发送到公众号聊天窗口,然后从公众号聊天窗口点击链接进入App下载页面,点击下载按钮时,iOS微信客户端就可以正常打开AppStore了。

  据此分析,微信iOS客户端为防止有人通过微信聊天形式发送页面链接诱导打开AppStore,就会检测拦截打开AppStore的行为;然而在公众号聊天窗口中的页面链接就不会拦截打开AppStore的行为。因为我们开发的微信银行项目是要挂到公众号上面的,所以在自定义菜单配置完成之后,用户通过点击菜单进入App下载功能,点击下载按钮,iOS就可以正常打开AppStore了。

一句话就是,微信iOS客户端中人与人聊天窗口中的页面链接功能会被拦截打开AppStore的行为,而人与公众号聊天窗口中的页面链接功能不会拦截打开AppStore的行为。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM