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,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) ...
随机推荐
- U3D破解方法
文件我的云盘里面有,然后操作如下:Win版破解方法:1.安装Unity后(联网破解不成功就断网试试),运行破解补丁.2.点击Browse选择Unity所在路径 例如我的Unity安装路径 F:\Sof ...
- 华为交换机配置telnet、SSH
如果网络中有一台或多台网络设备需要远程进行配置和管理,可以通过Telnet远程连接到每一台设备上,对这些网络设备进行集中的管理一维护. 一.AAA认证Telnet服务端 1.配置接口信息 <Hu ...
- PC微信聊天记录数据迁移恢复
PC微信聊天记录数据迁移恢复 本文章仅仅是PC微信聊天记录从一台电脑迁移到另外一台电脑恢复办法,主要适用于更换电脑,或重装系统,用户想保存PC微信中数据和文件. 1.查看微信记录的保存文件夹 设置 ...
- LGP6825题解
科技的力量!!!!!!我德意志科技天下第一!!! 这是一篇需要一点儿科技的题解,但实际上这个科技我认为甚至算不上科技,太 simple 了. 首先是推柿子: \[\sum_{i=1}^n\sum_{j ...
- .NET Core剪裁器Zack.DotNetTrimmer升级瘦身引擎,并支持剪裁计划的录制和回放
上周,我发布了对.NET Core程序进行瘦身的开源软件Zack.DotNetTrimmer,与.NET Core内置的剪裁器相比,Zack.DotNetTrimmer不仅对程序的剪裁效果更好,而且还 ...
- m3u8文件合并处理
m3u8文件合并处理 简介 M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码."M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP ...
- 给Windows系统免疫不再受恶意代码骚扰
所谓恶意代码,是指网页中使用了利用WSH漏洞来修改系统的一段代码(但是由于它并不具备传染性和自我复制这两个病毒的基本特征,因此不能称作病毒).WSH是"Windows Scripting H ...
- oracle中regexp_like/instr/substr/replace介绍和例子
ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与S ...
- Linux下编译安装配置MariaDB数据库
说明:操作系统:CentOS 6.6 64位MariaDB版本:mariadb-5.5.33aMariaDB数据库存放目录:/data/mysql准备:一.配置防火墙,开启3306端口vi /etc ...
- 安装配置Snort和barnyard2
1.安装依赖包 yum install –y gcc flex bison zlib* libpcap* tcpdump gcc-c++ zlib* libdnet libdnet-devel pcr ...