针对浏览器页面唤起QQ,QQ推广的官方网站:https://shang.qq.com/v3/widget.html,推广工具-QQ通讯组件会生成一段代码,如下所示:
<a target="_blank" href="https://wpa.qq.com/msgrd?v=3&uin=123456789&site=qq&menu=yes"> <img border="0" src="https://wpa.qq.com/pa?p=2:123456789:52" alt="点击这里给我发消息" title="点击这里给我发消息"/> </a>
a标签href属性里面的数字“123456789”就是需要被唤起的QQ号码。
应用上述方式,可以在大部分的浏览器中唤起QQ客户端,并定位到聊天页面,只是以下几种情况中这种方式会失效:
1、苹果手机自带的 Safari 浏览器会提示是否在AppStore中打开链接,如果选择是就会直接跳转到App Store 中,然后才能跳转到QQ,但是两次跳转会丢失参数,导致不能打开需要聊天的对象。
2、在手机端Google浏览器中也会存在类似于 1 中的情况
3、网页内嵌到自开发的App中,需要唤起QQ时,会提示升级QQ,出现类似与 1 的情况。
通过了解,发现app之间的联系可以通过一种叫做深度链接的技术解决,深度链接中的一个解决方案就是定义一个新的URL Scheme ,这个URL Scheme可以通过特定的URI方式传递参数给另一个APP,从而改变App之间独立不通信的局面。APP内唤起QQ的方法,可以使用如下的URI:
android:
<a target="_blank" href="mqqwpa://im/chat?chat_type=wpa&uin=123456789"> 测试 </a>
ios:
<a target="_blank" href="mqq://im/chat?chat_type=wpa&uin=123456789&version=1&src_type=web"> 测试 </a>
这里需要提到一点:ios下使用URL Scheme :mqqwpa 部分iphone机型下无法正常响应唤起QQ, ios需统一改成调用URL Scheme:mqq ,并且需要额外的参数申明'&version=1&src_type=web'
另外,将URL Scheme 的方案用于电脑的各种浏览器从而去唤起QQ是不起任何效果,因为URL Scheme是专门为解决APP之间孤立的情况而提出来的,并不适用于电脑应用,但是在电脑端可以使用QQ推广给出的的方案。
参考链接:
https://shang.qq.com/v3/widget.html
https://segmentfault.com/a/1190000006997572
https://community.apicloud.com/bbs/thread-91164-1-557.html
https://community.apicloud.com/bbs/thread-81539-1-892.html
1条评论( 网友:1 条,站长:0 条 ) 网友评论{有您的评论更精彩....}