客户有这样一个需求,他们分别在丁老师这里开发了微信小程序和APP,最近想把小程序的流量和业务,往APP上转移,也就是准备实现品牌的私域流量,目前是使用图文+二维码的方式,引导用户去应用市场下载,现在是想实现在打开小程序的时候,自动唤起已安装的APP,问丁老师这种可以实现吗?丁老师将对这个问题进行解答。
微信小程序可以唤起APP吗?
答案是肯定的,微信小程序可以唤起本地已安装的APP应用。但是受微信的限制,也不是说任何APP都可以被唤醒拉起。具体规则和场景如下:
1.该APP需要在微信的白名单内,一般多为腾讯系应用,如QQ邮箱、微信读书等。
2.该APP唤醒的业务需要符合腾讯规定,如地图导航、支付交易等。
3.还有一些合作APP,如京东、美团、携程等应用。
4.不能随意唤起,必须是微信已经审核通过的业务场景。
5.必须申请微信外部启动APP权限。
6.用户手机必须已安装目标APP。
7.重点,普通小程序没有唤起APP的权限,并且很难申请通过。
如何实现小程序唤起APP?
在满足上述条件的前提下,分别需要对小程序和APP端进行适配,以实现小程序唤起APP。
小程序端:
通过微信小程序的button组件,绑定open-type为launchApp即可,并且可以通过app-parameter,向唤起的APP传递参数。具体代码如下:
<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打开APP</button>
Page({
launchAppError (e) {
console.log(e.detail.errMsg)
}
})APP端:
目标APP需要接入OpenSDK,Android系统的App需要处理ShowMessageFromWX.req的微信回调,苹果iOS应用则需要将微信的appId添加到App工程里,所属的plist文件中URL types字段。
Android APP示例代码:
#WXEntryActivity中
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
//对应小程序组件<button open-type="launchApp">中的app-parameter属性
String extraData =launchMiniProResp.extMsg;
}
}苹果iOS应用示例代码:
-(void)onResp:(BaseResp *)resp
{
if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
{
//对应小程序组件<button open-type="launchApp">中的app-parameter属性
NSString *string = resp.extMsg;
}
}不能实现小程序唤起APP的方式
1.通过JS唤起APP,无法实现,小程序内部限制,该方法无效。
2.通过webview/H5的链接,调用scheme拉起APP,该方法无效,小程序已限制webview的url跳转。
3.通过下载APK安装,该方法无效,微信内不允许直接下载APK。
全文总结
要想实现小程序唤起APP,从技术原则上来说是可以的,但是因为微信结合安全风险、使用体验等因素的考虑,微信生态内对拉起APP的行为限制较多,需要通过微信的层层审核。对大部分APP来说,一般情况下是不好实现的。如果目标APP用户群体较多、体量比较大,可以和微信进行商户沟通以便开放此功能。
以上就是丁老师对微信小程序能否唤起APP这个问题的介绍,如果你也有这个需求,或是有不同的意见以及建议,可以联系丁老师。同时,丁老师软件团队专注微信小程序开发,技术过硬、人品可靠,正规公司、签署合同,如果你也想开发微信小程序,欢迎联系丁老师进行交流和咨询。
在开发苹果IOS APP时,遇到了个问题。最近把我的mac os更新到了Sequoia版本,然后xcode15居然不能用了(囧),查了很多资料,发现原来是Sequoia不支持xcode15,这可怎么办呢,没必要因为这个重装系统啊,在经过...
一、wordpress安装系统配置要求1.PHP 7.4以上版本。2.Mysql5.7或MariaDB 10.3以上版本。3.Nginx或开启mod_rewrite模块的Apache底座。4.需要支持HTTPS的SSL证书。二、创建数据...
最近在使用Edge浏览器DevTools时,忽然发现在调试css时,html中多了一个图标,提示“ask pilot about this elements and its styles”,如图:经过测试,这个功能其实就是点击了以后,浏...
丁老师软件,推出图片在线加水印功能,支持图片和PDF文件加水印,可以添加文字水印、图片水印,文字水印支持调整文字大小、文字颜色、位置、透明度等,添加水印后可以自动生成文件,可以下载。在线添加图片水印地址https://www.dls6....
fontawesome所有图标class类名单,适用于4.7.0版本。总计有593个图标class类(包含别名):fa-500pxfa-address-bookfa-address-book-ofa-address-cardfa-addre...
最近要在某单位内网部署项目,使用了lnmp来配置环境,软件安装成功,可安装后不管是打开ip地址还是默认站点,都提示nginx 403 forbidden,这是怎么回事呢?首先,已经出现了nginx 403提示,说明nginx是安装正常的。其...
软件介绍Basgito是基于Laravel框架的免费电子商务平台,可以快速搭建自己企业专属的电子商务交易平台,适用于中小型外贸企业。该电商平台拥有无头laravel商务(headless laravel commerce)的强大功能,可以快...
这几年AI技术的发展已经达到新的高度,从提高个人生产力到企业操作效率的各个方面,AI都扮演着不可或缺的角色。无论是进行语言交流、内容创作、或是任务管理,都有相应的AI工具可以帮助我们更加轻松地完成工作。以下是丁老师觉得不错的AI工具推荐,希...