需求
:微信放開小程序互跳的 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