要点速览:

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

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

从微信官方文档中,小程序之前的互相跳转使用 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小程序的用户授权

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

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

我们的目标还是拉新和引流,所以我们需要把关联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的授权登录操作和之前一样,略过。
步骤如下:

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

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

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

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

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

从老站跳新站其实流程一样,同样需要传入老站的 user_id 去做关联操作,但是有一个不一样的是不需要授权后走关联接口,可以直接在授权的时候
将老站的 user_id 直接从登录接口中传入即可。

A小程序与B小程序相互跳转的一点记录的更多相关文章

  1. [转]微信小程序、微信公众号、H5之间相互跳转

    本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加 ...

  2. 微信小程序、微信公众号、H5之间相互跳转

    转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息 ...

  3. 微信小程序和公众号和H5之间相互跳转

    参考链接:https://www.imooc.com/article/22900 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 可关联已有的小程序或快速创建小程序.已关联 ...

  4. 小程序 公众号/h5相互跳转-webview

    小程序与h5的跳转 前提小程序管理后台配置域名白名单,并且h5页面是嵌在小程序里面(相互跳的前提条件) 在业务域名中设置好访问的h5地址 微信官方web-view 介绍地址 https://devel ...

  5. 详解封装微信小程序组件及小程序坑(附带解决方案)

    一.序 上一篇介绍了如何从零开发微信小程序,博客园审核变智障了,每次代码都不算篇幅,好好滴一篇原创,不到3分钟从首页移出来了.这篇介绍一下组件封装和我的踩坑历程. 二.封装微信小程序可复用组件 首先模 ...

  6. 【小程序】微信小程序打开其他小程序(打开同一主体公众号下关联的另一个小程序)

    微信小程序打开其他小程序(打开同一公众号下关联的另一个小程序) 注:只有同一(主体)公众号下的关联的小程序之间才可相互跳转  wx.navigateToMiniProgram(OBJECT) wx.n ...

  7. 微信小程序转支付宝小程序

    使用方法: npm install wx-alipay -g wxToalipay --src={{小程序源码目录}} --dest={{支付宝小程序目录,可缺省}} 点击回车后就可将微信小程序转换为 ...

  8. 张小龙的野心:用小程序重构web|小程序好处及可能的不足

    一:张小龙的野心:用小程序重构web 一 很多年以前,张小龙写了一款软件:Foxmail. 这款软件当年有数百万用户,这是一个相当庞大的量,因为彼时网民也只有千万当量级的规模. 我是一个非常忠实的用户 ...

  9. [小程序开发] 微信小程序内嵌网页web-view开发教程

    为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...

随机推荐

  1. 自己创建bmp图像

    随便找一张图片,右键选择打开方式为画图,再在画图中保存为bmp即可 如果要保存为png文件,也可以这样

  2. Python:os

    1.os.walk 学习自:python中os.walk的用法详解 - 马里亚纳仰望星空 - 博客园 说明 遍历某个文件夹下的所有文件(包括子文件夹中) 用法 os.walk( top , topdo ...

  3. sql数据处理

    安装pymysql 读取数据库数据进行pandas操作,并用seaborn和matplotlib进行画图

  4. PHP Curl Accept-Encoding: gzip乱码问题解决

    在使用php curl对接hugegraph的过程中,发现向gremlin发送结果返回乱码,截图如下: 发现返回乱码的乱码请求中有Accept-Encoding: gzip,即返回的内容采用了gzip ...

  5. LGP4001题解

    题目大意 给定一张无向图,需要消耗代价才能使一条边被[数据删除],求使这张图不连通的最小代价. 一看就是最小割的应用啊... 从 \(u\) 到 \(v\),边权为 \(w\) 的边,建两条:一条从 ...

  6. 《前端运维》一、Linux基础--05Shell运算符

    今天我们来学习下Shell运算符,Shell跟其他的编程语言一样,也支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 那下面,我们就一一来学习一下这些运算符. ...

  7. RabbitMQ入门-5.6-课堂笔记-01

  8. IC设计基础

    一 前言 这一周连续两场线下面试,紧接着又是微信视频面试,从连续三天的面试中,收获颇丰! 存在的问题: 一是对项目细节模糊: 二是IC基础知识薄弱: 具体表现是,在面试过程中,如被问到DDR3和千兆以 ...

  9. li 与 li 之间有空白间隔是什么原因引起的,有什么解决办法

    li 与 li 之间有空白间隔是什么原因引起的,有什么解决办法 原因 浏览器会把inline元素间的空白字符(空格.换行.Tab等)渲染成一个空格.而为了美观,我们通常是一个 放在一行,这导致 换行后 ...

  10. 如何确保消息正确地发送至 RabbitMQ?如何确保消息接收方消费了消息?

    发送方确认模式 将信道设置成 confirm 模式(发送方确认模式),则所有在信道上发布的消息都会被指派一个唯一的 ID.一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久化的消息),信道会发送 ...