需求
:微信放开小程序互跳的 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 文档后端
首先用户初次进入B程序后给一个蒙层,用户点击后主动去受权,而后拿到用户的受权信息后再进行操做,拒绝操做后蒙层不消失。
经过 wx.getUserInfo
获取用户信息,而后将临时获取的 code
值以及向量等值参数传给后端,获取到用户信息,如openId、userId 以及 token
存入全局
以及缓存
中,完成后从新调用 onLoad
函数 。
在 onLoad
函数中有一步很重要的操做就是获取 openId
来判断是否受权成功,这里我一开始是经过异步接口 wx.getstoragesync
获取,
可是部分安卓机型会第一次受权不成功,缘由就在于设置缓存的时候是经过同步的方式,可是获取的时候是异步,致使偶尔获取不到,后来改为从 全局
中获取 openId
就没有这个问题了。缓存
咱们的目标仍是拉新和引流,因此咱们须要把关联B程序的用户引入A小程序而且关联起来用户信息,
单个小程序中惟一标识是 openId
,可是多个小程序关联咱们的惟一标识是 unionid
,咱们受权登陆的接口中,咱们先调用了 wx.getUserInfo
返回的成功回调包含 iv,rawData,signature,encryptedData等字段
,而后调用 wx.login
获取 code
再统一传入后端解密获得解密后须要的用户信息,这里rawData,signature
是来作校验的。微信
从B程序跳入A后,咱们携带B程序的 user_id
等参数,而后传入B的 user_id
以及A的 user_id
去查询库中是否存在关联的 unionid
,这里A的受权登陆操做和以前同样,略过。
步骤以下:app
诸葛 io 相似于微信统计,都是一种埋点统计功能,咱们经常使用的数据存储和分析载体是 事件 ,经过对用户行为的分析提供更好的服务以及实现数据驱动的精准运营。
经过安装诸葛的 sdk,而后在经过事件监听的机制了解到用户进入了哪一个商品以及行为,官网的 demo 以下:异步
zhuge.track('进入商品详情页', { '商品名称' : '【联通赠费版】Apple iPhone 7 Plus 128G 黑色 移动联通电信4G手机', '商品价格' : 6588.00, '商品一级分类' : 手机, '商品品牌' : 'Apple'}); //属性名称不能超过255个字符,属性值不能超过200个字符
经过这种埋点统计咱们很方便的可视化了解到用户的喜爱和行为以及留存率等等指标,为后续的运营活动提供更精准的投放。
详情请参考=>诸葛io文档函数
从老站跳新站其实流程同样,一样须要传入老站的 user_id
去作关联操做,可是有一个不同的是不须要受权后走关联接口,能够直接在受权的时候
将老站的 user_id
直接从登陆接口中传入便可。
ui