A小程序与B小程序相互跳转的一点记录

要点速览:

  • A小程序和B小程序关联同一个公众号
  • B程序的用户受权
  • A小程序和B小程序的用户关联
  • 诸葛 io 统计用户访问信息

需求:微信放开小程序互跳的 API 后,一些导流和拉新等活动能够在新的小程序实现html

从微信官方文档中,小程序以前的互相跳转使用 wx.navigateToMiniProgram 跳转,可是最新版本使用 <navigator> 组件来使用。参考下示例 demo:小程序

<view class="demo">
    <navigator 
        path="pages/index/index?uid={{uid}}"    // 跳转路径,能够传参
        target="miniProgram"        // 跳转目标
        app-id='wx3619c30049ec8aed' // 须要跳转的小程序ID
        version="develop"           // 当前小程序和目标小程序一致
        open-type='navigate'        // 跳转小程序
        class="demo_text">
    </navigator>
</view>

具体参考官方文档 =>
官方 navigator 文档后端

1、B小程序的用户受权

首先用户初次进入B程序后给一个蒙层,用户点击后主动去受权,而后拿到用户的受权信息后再进行操做,拒绝操做后蒙层不消失。
经过 wx.getUserInfo 获取用户信息,而后将临时获取的 code 值以及向量等值参数传给后端,获取到用户信息,如openId、userId 以及 token 存入全局以及缓存中,完成后从新调用 onLoad 函数 。
onLoad 函数中有一步很重要的操做就是获取 openId 来判断是否受权成功,这里我一开始是经过异步接口 wx.getstoragesync 获取,
可是部分安卓机型会第一次受权不成功,缘由就在于设置缓存的时候是经过同步的方式,可是获取的时候是异步,致使偶尔获取不到,后来改为从 全局 中获取 openId 就没有这个问题了。缓存

2、A程序和B程序的用户关联

咱们的目标仍是拉新和引流,因此咱们须要把关联B程序的用户引入A小程序而且关联起来用户信息,
单个小程序中惟一标识是 openId ,可是多个小程序关联咱们的惟一标识是 unionid ,咱们受权登陆的接口中,咱们先调用了 wx.getUserInfo 返回的成功回调包含 iv,rawData,signature,encryptedData等字段 ,而后调用 wx.login 获取 code 再统一传入后端解密获得解密后须要的用户信息,这里rawData,signature 是来作校验的。微信

用户信息.png

从B程序跳入A后,咱们携带B程序的 user_id 等参数,而后传入B的 user_id 以及A的 user_id 去查询库中是否存在关联的 unionid ,这里A的受权登陆操做和以前同样,略过。
步骤以下:app

跳入步骤.png

3、诸葛 io 统计用户访问信息

诸葛 io 相似于微信统计,都是一种埋点统计功能,咱们经常使用的数据存储和分析载体是 事件 ,经过对用户行为的分析提供更好的服务以及实现数据驱动的精准运营。
经过安装诸葛的 sdk,而后在经过事件监听的机制了解到用户进入了哪一个商品以及行为,官网的 demo 以下:异步

zhuge.track('进入商品详情页', {
    '商品名称' : '【联通赠费版】Apple iPhone 7 Plus 128G 黑色 移动联通电信4G手机',
    '商品价格' : 6588.00,
    '商品一级分类' : 手机,
    '商品品牌' : 'Apple'});   //属性名称不能超过255个字符,属性值不能超过200个字符

经过这种埋点统计咱们很方便的可视化了解到用户的喜爱和行为以及留存率等等指标,为后续的运营活动提供更精准的投放。
详情请参考=>诸葛io文档函数

4、A小程序跳转B小程序

从老站跳新站其实流程同样,一样须要传入老站的 user_id 去作关联操做,可是有一个不同的是不须要受权后走关联接口,能够直接在受权的时候
将老站的 user_id 直接从登陆接口中传入便可。
ui

相关文章
相关标签/搜索