微信端调用第三方app实例,实现了本地没有app跳转到下载页面,安装了app直接唤起app解决方案共享,亲测可用

一、需求分析

       1、实现app之间的通信有多种方式

       单从前端角度来看,需要利用IOS 与 Android  都支持一种叫做 URL scheme 协议的链接。比如网易新闻客户端的协议为 newsapp://xxxxx  采用URL Scheme链接方式解决即可,

        2、什么是URL Scheme

        URL Scheme就是一个可以让app相互之间可以跳转的对外接口,为方便app之间互相调用而设计的。通过给APP定义一个唯一的URL路径来从外部快速的打开这个指定的APP,每个app的URL Scheme都是不一样的,如果存在一样的URL Scheme,那么系统就会响应先安装那个app的URL Scheme,因为后安装的app的URL Scheme被覆盖掉了,是不能被调用的。

这个协议不需要前端去实现,只需要将协议放在 a 标签的 href 属性里,或者使用 location.href 与 iframe 来实现激活这个链接

        3、URL Scheme有哪些应用?

1、  第三方分享的SDK就是通过这种方式来实现分享的,我们将需要分享的数据传递给SDK,SDK通过OpenURL来打开第三方应用传递数据,返回时SDK来处理OpenUrl的参数,实现查看分享的回调。

2、  调用微信、支付宝等客户端完成支付的功能。

3、  第三方应用调用系统所带的地图软件。

4从浏览器中某一页面的点击事件可以打开对应客户端的某一个界面,就是通过APP协议 URL Scheme:// + 参数 来完成唤醒跳转客户端界面的

  二、代码实现(以税务局app为参考)

当纳税人在微信端发起授权时,直接唤起电子税务局APP进行授权URLScheme为:taxsdapp://taxbs:9999,URL路径为:icbc/oauth (银行简称/操作)

未编码的授权URLScheme为:

taxsdapp://taxbs:9999/icbc/oauth?params="{"yhdm":"402455350018","cpmc":"产品名称"税e贷":"产品编码","syd01":"签名":”402455350018syd0110013”}"

编码后的授权URLScheme为: 

taxsdapp://taxbs:9999/icbc/oauth?params=InsieWhkbSI6IumTtuihjOS7o+eggSIsImNwbWMiOiLkuqflk4HlkI3np7AiLCJjcGJtIjoi5Lqn5ZOB57yW56CBIiwic2lnbmF0dXJlIjoi562+5ZCNIn0iIA==

 

<a  ’href="taxsdapp://taxbs:9999/icbc/oauth?params=eyJ5aGRtIjoic2RueCIsImNwbWMiOiLnqI5l6LS3IiwiY3BibSI6InRheDAxIiwic2lnbmF0dXJlIjoiOTU1NTVjM2Q1ZGJjOTg4NzRlMTFiNTE4YzQxOWM3OGZiNTM0YjBkZCJ9"> </a>

a标签一个点击事件,如果本地安装了相应的app则提示用户是否打开

如果本地没有安装对应的app则通过

document.hidden H5新增的api

判断当前页面是否处于隱藏状态false则页面处于隐藏状态并且在3秒内跳转到APP下载页面

Let hidden = window.document.hidden || window.doument.mozHidden || window.document.webkitHidden

setTimeout(function(){

             !hidden && setTimeout(function(){

                   if (new Date() - clickedAt < 3000){ 

                       window.location = 'http://etax.shandong.chinatax.gov.cn/ydsw_webservice/qyd_ydsw.jsp'; 

                   } 

             }, 500);      

         }, 500)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默是金~

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值