微信中使用wx-open-launch-app拉起app

微信中拉起app流程

前期准备

想使用微信拉起app功能需要准备

  1. H5页面使用的域名
  2. 可以进行微信鉴权的后端服务
  3. 认证过的服务号(目前一年3张,一个域名就要有一个可用的服务号)
  4. 认证过并且主体和服务号一致的微信开放平台(费用不太清楚)
  5. 一个需要拉起的app(未上架应用市场的话是有调用次数的)

后端

  1. 把后端IP配置在服务号的IP白名单中
  2. 使用公众号appId和secret获取access_token(有效时间7200s)
  3. 使用access_token获取jsapi_ticket(有效时间7200s)
  4. 调用签名算法生成签名signature
    附录1-JS-SDK使用权限签名算法
    注意: access_token和jsapi_ticket后端一定要缓存起来,这个微信那边是有调用次数限制的,超过次数就不让调用了。
    access_token和jsapi_ticket实际有效时间不一定是7200s,会比这个值长一些,后端可以按7200s缓存起来,个人验证问题时发现缓存时间都过了半小时旧值有时候还能用。

前端

  1. 公众平台上面注册移动应用,关联服务号
  2. 在微信公众号和开放平台绑定域名,虽然公众号管理台配置JS安全域名可以配置多个域名,但是开放平台中配置公众号关联关系时候只允许配置一个域名,所以如果有多个域名(比如测试环境)需要做拉起app功能时候,要么就多用几个公众号来绑定域名,要么就使用一个父域名来绑定(这个我没验证过,因为我们这应用有点多,使用父域名怕影响了别的应用)
    微信内网页跳转APP功能
  3. 前端代码 引入JS文件https://res.wx.qq.com/open/js/jweixin-1.6.0.js
  4. 通过config接口注入权限验证配置,这里timestamp、nonceStr、signature都是取后端接口返回的值
wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '', // 必填,公众号的唯一标识
  timestamp: , // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: [] // 必填,需要使用的JS接口列表}); 例子:'checkJsApi','onMenuShareTimeline','onMenuShareAppMessage'
  })
  1. 通过ready接口处理成功验证
  2. 通过error接口处理失败验证,有的时候微信鉴权失效了,这里可以做个兜底处理
    JSSDK使用步骤
  3. 拉起app使用微信开放标签wx-open-launch-app
    跳转APP:wx-open-launch-app

注意事项

  • 后端调用接口需要先在微信公众号平台配置白名单,否则无法调用
  • 后端缓存的access_token、jsapi_ticket需要根据不同的appId来处理,否则会造成多个域名互相冲突
  • 开放平台、公众平台配置域名必须完全一致,因为开放平台中配置公众号的关联关系中只能绑定一个域名,所以多个域名需要实现微信拉起App要借助多个公众号来实现。
  • 开放平台中配置的关联关系不支持解绑,仅支持换绑,如将对应的公众号至其他开放平台,原有的关联关系仍然能生效
  • 微信中文字链无法使用拉起app标签,支持的有卡片分享、二维码等
  • iframe内不支持开放标签
  • 确认url是页面完整的url(请在当前页面alert(location.href.split(‘#’)[0])确认),包括’http(s)😕/‘部分,以及’?‘后面的GET参数部分,但不包括’#'hash后面的部分。
    附录5-常见错误及解决方法

ps:微信实现拉起app工作量是真的不少,配置和认证也很麻烦,图省事还是做个页面右上角浏览器里打开,使用浏览器拉起app吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值