如何实现从第三方APP直接跳转进入微信小程序

江湖321 次浏览0个评论2021年10月25日
小程序已悄悄的开放了从外部跳转至小程序的入口,方便用户可以在微信外部浏览器或其他APP跳转至微信小程序。我们有项目需要尝试这种方式,特意试了一下,发现还是有一些坑,分享给大家。

首先微信官方文档在微信.开放平台上,截图如下:

跳转文档

官方都说了,那指定是可以实现了,开心。

直接使用天天外链把公众号、小程序、企业微信、微信群、个人微信生成一个链接;然后APP中直接跳转本链接即可;需要支持urlscheme;点击前往 天天外链官网 如何实现从第三方APP直接跳转进入微信小程序

但是想要跳转所有的小程序也是有要求的,文档明确说明:

对于已通过认证的开放平台账号,其移动应用可以跳转至任何合法的小程序,且不限制跳转的小程序数量。 对于未通过认证的开放平台账号,其移动应用仅可以跳转至同一开放平台账号下小程序。 注意:若移动应用未上架,则最多只能跳转小程序100次/天,用于满足调试需求。

下面根据不同平台来进行调试:

String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);

WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_d43f693ca31f"; // 填小程序原始id
req.path = path;                  ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);

上面几个参数再详细说一下:

appId指的是微信开放平台对应移动应用的appId,而不是小程序的appId,这里注意 userName是微信公众平台里小程序的原始Id,是gh开头的。 req.path就是打开小程序的路径,传递参数就是通过这个来传递。 req.miniprogramType选的是开发和体验版本。 ios和安卓类似。

uniapp跳转微信小程序

var sweixin = null; 
// 需调用plus.share.getServices获取微信分享服务对象
//...

/**
 * 调用微信小程序
 */
function launchMiniProgram(){
    sweixin?sweixin.launchMiniProgram({
        id:'gh_33446d7f7a26'
    }):plus.nativeUI.alert('当前环境不支持微信操作!');
}

要用自定义基座测试,打包的时候微信分享的参数appid和appsecrect要填写后再打包。

如果测试的过程中看到了这张图,首先排查是不是appid写错啦!!! 错误

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文