A小程序与B小程序相互跳转的一点记录
要点速览:
- 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小程序相互跳转的一点记录的更多相关文章
- [转]微信小程序、微信公众号、H5之间相互跳转
本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加 ...
- 微信小程序、微信公众号、H5之间相互跳转
转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息 ...
- 微信小程序和公众号和H5之间相互跳转
参考链接:https://www.imooc.com/article/22900 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 可关联已有的小程序或快速创建小程序.已关联 ...
- 小程序 公众号/h5相互跳转-webview
小程序与h5的跳转 前提小程序管理后台配置域名白名单,并且h5页面是嵌在小程序里面(相互跳的前提条件) 在业务域名中设置好访问的h5地址 微信官方web-view 介绍地址 https://devel ...
- 详解封装微信小程序组件及小程序坑(附带解决方案)
一.序 上一篇介绍了如何从零开发微信小程序,博客园审核变智障了,每次代码都不算篇幅,好好滴一篇原创,不到3分钟从首页移出来了.这篇介绍一下组件封装和我的踩坑历程. 二.封装微信小程序可复用组件 首先模 ...
- 【小程序】微信小程序打开其他小程序(打开同一主体公众号下关联的另一个小程序)
微信小程序打开其他小程序(打开同一公众号下关联的另一个小程序) 注:只有同一(主体)公众号下的关联的小程序之间才可相互跳转 wx.navigateToMiniProgram(OBJECT) wx.n ...
- 微信小程序转支付宝小程序
使用方法: npm install wx-alipay -g wxToalipay --src={{小程序源码目录}} --dest={{支付宝小程序目录,可缺省}} 点击回车后就可将微信小程序转换为 ...
- 张小龙的野心:用小程序重构web|小程序好处及可能的不足
一:张小龙的野心:用小程序重构web 一 很多年以前,张小龙写了一款软件:Foxmail. 这款软件当年有数百万用户,这是一个相当庞大的量,因为彼时网民也只有千万当量级的规模. 我是一个非常忠实的用户 ...
- [小程序开发] 微信小程序内嵌网页web-view开发教程
为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...
随机推荐
- (四)目标检测算法之Fast R-CNN
系列博客链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...
- appium报错Message: Cannot set the element to ‘XXXX’. Did you interact with the correct element?
appium+python+android 在定位到模块输入内容的时候遇到了一个问题 send_keys报错 appium报错Message: Cannot set the element to 'X ...
- LeetCode-019-删除链表的倒数第 N 个结点
删除链表的倒数第 N 个结点 题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例说明请见LeetCode官网. 来源:力扣(Leet ...
- js扒代码技巧(一)
1.确定找到自己想要的代码 2.方法内部的代码需要执行后才能调用 导出方法: //案列1 //案例1 // 函数里面的方法被赋值成变量 // 解: //将函数在方法外导出到全局变量 var hex_m ...
- 如何使用 VS Code 远程连接矩池云主机
Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器.VS Code 支持代码补全.代码片段.代码重构.Git 版本控制等功能. VS Code 现已支持连接远 ...
- CS61b proj1a
得分46.25有一个点的bug不会修(希望大佬带我),style没有注意.1.LinkedListDeque.java public class LinkedListDeque <T>{ ...
- vue项目启动报错 spawn cmd ENOENT errno: -4058
vue项目启动报错 spawn cmd ENOENT errno: -4058 运行vue项目(npm run dev)报错 提示 'npm' 不是内部或外部命令 cmd输入node -v 有版本号 ...
- 禁用 Windows 共享服务,释放 445 端口
禁用 Windows 共享服务,释放 445 端口 转载自:https://blog.csdn.net/liu857279611/article/details/71786068 在 Window ...
- go1.18泛型的简单尝试
今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: G ...
- How Do Vision Transformers Work?[2202.06709] - 论文研读系列(2) 个人笔记
[论文简析]How Do Vision Transformers Work?[2202.06709] 论文题目:How Do Vision Transformers Work? 论文地址:http:/ ...