APP 跳转微信小程序和回调
admin
2024-01-16 21:05:10

在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。

可在“管理中心-移动应用-应用详情-关联小程序信息”,为通过审核的移动应用发起关联小程序操作。

拉起

App打开下程序有两种方式:

1、通过App分享小程序卡片到微信,然后在微信上点击小程序卡片打开小程序,这时小程序也可以打开App

• 第一步:你需要到微信开放平台 将你的app 关联上你的小程序!
• 第二步:你工程中需要导入有 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主动的调用 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]

回调

当小程序从 APP 分享消息卡片的场景打开(场景值 1036,APP 分享小程序文档 iOS / Android) 或从 APP 打开的场景打开时(场景值 1069),小程序会获得打开 APP 的能力,此时用户点击按钮可以打开分享该小程序卡片/拉起该小程序的 APP。即小程序不能打开任意 APP,只能 跳回 APP。

options.scene是1036,这个场景id表示app分享。

options.scene是1069,这个场景id表示从app打开。

 

按微信文档中描述,从小程序中跳回App只能通过点击小程序中的按钮方可跳回,如何实现点击按钮跳回App,并携带参数呢,需如下两步 

App端: 

需要创建WXEntryActivty,实现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; // 对应下面小程序中的app-parameter字段的value}
}

小程序端: 

 需要将 ​​

这样App拿到的内容就是wechat。 

这样可以传参数给App

扩展

再下一步的需求是多个App跳转一个小程序,再分别返回不同的App;一个App跳转不同的小程序,接受不同的返回内容。

从App拉起小程序页面的路径是可以带参数的,我们就利用这个参数判断是从那个App跳到小程序的。

例如:

名称为a的App跳转路径为:

 "pages/index/index?type=appA"

名称为b的App跳转路径为: 

"pages/index/index?type=appB" 

 小程序端接收参数:

 onLoad: function (options) {
    console.log(options.type); //app传递过来的参数 可以判断a或者b
},

使用场景

1、APP 跳转微信小程序进行支付

目的:可以避开APP各种审核、避免APP高费率问题、有时小程序端有服务商收益

对接步骤:

 

1、APP端创建订单,带订单号和用户id参数吊起小程序指定页面2、在小程序指定页面接收参数,用code换取openid, 携带参数请求后台接口发起支付,获取支付参数3、小程序端携带支付参数调起微信支付,进行支付4、支付完成点击“返回APP”按钮,跳转到APP5、APP回调方法中接收到回调请求,验证订单支付状态,走后续逻辑

​​APP跳转小程序​​、​​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

​​[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 

上一篇:害人害己

下一篇:懒人的致富梦

相关内容

热门资讯

外... 今天我就给大家介绍一下外贸人必备的社交媒体平台,帮助您更好地了解客户。实时消息应用程序1.Whats...
美... 我专注于敏捷开发实践,在IT软件开发和项目管理方面拥有丰富的工作经验。 目前,他是美国敏捷联盟认证的...
v... 发图片、分享生活已经成为当代年轻人不可或缺的社交方式,美拍益智应用市场也快速发展。 在这个日益饱和的...
世... 在移动通信时代,即时通讯软件的发展是有目共睹的。 据估计,全球有超过 38 亿人使用即时通讯软件,相...
A... 本教程是关于AE逼真定格动画实例制作培训视频教程,时长:2小时56分钟,大小:2.5GB,格式:MP...