在同一開放平臺賬號下的移動應(yīng)用及小程序無需關(guān)聯(lián)即可完成跳轉(zhuǎn),非同一開放平臺賬號下的小程序需與移動應(yīng)用(APP)成功關(guān)聯(lián)后才支持跳轉(zhuǎn)。
可在“管理中心-移動應(yīng)用-應(yīng)用詳情-關(guān)聯(lián)小程序信息”,為通過審核的移動應(yīng)用發(fā)起關(guān)聯(lián)小程序操作。
拉起
App打開下程序有兩種方式:
1、通過App分享小程序卡片到微信,然后在微信上點擊小程序卡片打開小程序,這時小程序也可以打開App
??第一步:你需要到微信開放平臺 將你的app 關(guān)聯(lián)上你的小程序!
??第二步:你工程中需要導(dǎo)入有 wechatOpenSDK
??第三步: 分享小程序卡片類型
官方文檔:???https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317332&token=&lang=zh_CN??[1]
2、通過App主動的調(diào)用 api 打開小程序,這時候小程序也可以打開App
官方文檔:???https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646385rK1Bs&token=&lang=zh_CN??[2]
回調(diào)
當(dāng)小程序從 APP 分享消息卡片的場景打開(場景值 1036,APP 分享小程序文檔 iOS / Android) 或從 APP 打開的場景打開時(場景值 1069),小程序會獲得打開 APP 的能力,此時用戶點擊按鈕可以打開分享該小程序卡片/拉起該小程序的 APP。即小程序不能打開任意 APP,只能 跳回 APP。
options.scene是1036,這個場景id表示app分享。
options.scene是1069,這個場景id表示從app打開。
?
按微信文檔中描述,從小程序中跳回App只能通過點擊小程序中的按鈕方可跳回,如何實現(xiàn)點擊按鈕跳回App,并攜帶參數(shù)呢,需如下兩步?
App端:?
需要創(chuàng)建WXEntryActivty,實現(xiàn)IWXAPIEventHandler接口,重寫onResp方法。注意Acitvity需要在Manifest文件中聲明 android:exported="true",這樣才可以被外部喚起?
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData =launchMiniProResp.extMsg; // 對應(yīng)下面小程序中的app-parameter字段的value
}
}
小程序端:?
?需要將 ??<button>?? 組件 open-type 的值設(shè)置為 launchApp。如果需要在打開 APP 時向 APP 傳遞參數(shù),可以設(shè)置 app-parameter 為要傳遞的參數(shù)。通過 binderror 可以監(jiān)聽打開 APP 的錯誤事件。
<view class='suspension'>
<button class="server_button" open-type="launchApp" app-parameter="wechat" binderror="launchAppError">
打開APP
</button>
</view>
這樣App拿到的內(nèi)容就是wechat。?
<button class='server_button' open-type="launchApp" app-parameter="MemberId={{MemberId}}&MemberStatus={{MemberStatus}}" binderror="launchAppError">
返回App
</button>
這樣可以傳參數(shù)給App
擴展
再下一步的需求是多個App跳轉(zhuǎn)一個小程序,再分別返回不同的App;一個App跳轉(zhuǎn)不同的小程序,接受不同的返回內(nèi)容。
從App拉起小程序頁面的路徑是可以帶參數(shù)的,我們就利用這個參數(shù)判斷是從那個App跳到小程序的。
例如:
名稱為a的App跳轉(zhuǎn)路徑為:
?"pages/index/index?type=appA"
名稱為b的App跳轉(zhuǎn)路徑為:?
"pages/index/index?type=appB"?
?小程序端接收參數(shù):
?onLoad: function (options) {
? ? console.log(options.type); //app傳遞過來的參數(shù) 可以判斷a或者b
},
使用場景
1、APP 跳轉(zhuǎn)微信小程序進行支付
目的:可以避開APP各種審核、避免APP高費率問題、有時小程序端有服務(wù)商收益
對接步驟:
?
1、APP端創(chuàng)建訂單,帶訂單號和用戶id參數(shù)吊起小程序指定頁面
2、在小程序指定頁面接收參數(shù),用code換取openid, 攜帶參數(shù)請求后臺接口發(fā)起支付,獲取支付參數(shù)
3、小程序端攜帶支付參數(shù)調(diào)起微信支付,進行支付
4、支付完成點擊“返回APP”按鈕,跳轉(zhuǎn)到APP
5、APP回調(diào)方法中接收到回調(diào)請求,驗證訂單支付狀態(tài),走后續(xù)邏輯
??APP跳轉(zhuǎn)小程序??、??APP喚起小程序??
引用鏈接?
??[1]???https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317332&token=&lang=zh_CN:????https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317332&token=&lang=zh_CN文章來源:http://www.zghlxwxcb.cn/news/detail-407250.html
??[2]??https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646385rK1Bs&token=&lang=zh_CN:????https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646385rK1Bs&token=&lang=zh_CN?文章來源地址http://www.zghlxwxcb.cn/news/detail-407250.html
到了這里,關(guān)于APP 跳轉(zhuǎn)微信小程序和回調(diào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!