用mui做好app后,需要推广的,比如在网页中有一个按钮,点击这个按钮会发生两件事(其中一件),如果客户手机安装了我们的app,那么就直接打开app,如果客户没有安装那么就跳转到下载页面去;
分为两步
一,在打包app的时候
Android平台通过UrlSchemes与第三方应用相互调用
Android平台可以通过Url Scheme来调用第三方应用,设置步骤如下:
5+应用配置支持urlscheme
双击应用的manifest.json文件,切换到“代码视图”,在根节点下添加plus->distribute->google下添加schemes节点数据如下:
其值为字符串数组,每个字符串为一个urlscheme,使用小写字母,可设置多个。
保存后提交App云端打包生效
浏览器中通过href启动应用
安装应用后,我们可以在html页面中,通过href直接调用应用:
<a href="test://abc">test:<a><br/>
扫描二维码关注公众号,回复:
1115479 查看本文章
5+应用中处理urlscheme启动传递的参数
在其它应用中通过href调用Url Scheme传递过来的值,可以通过plus.runtime.arguments获取
其值为完整的urlscheme字符串,如上面href的值启动应用后获取的plus.runtime.arguments值为“test://abc”
代码示例如下:
document.addEventListener('plusready',function(){ checkArguments(); },false); // 判断启动方式 function checkArguments(){ console.log("plus.runtime.launcher: "+plus.runtime.launcher); var args= plus.runtime.arguments; if(args){ // 处理args参数,如打开新页面等 } } // 处理从后台恢复 document.addEventListener('newintent',function(){ console.log("addEventListener: newintent"); checkArguments(); },false);
iOS平台请参考:http://ask.dcloud.net.cn/article/64
第二步,在网页中怎么做呢
//如果500毫秒没有打开app就跳转链接 function applink(fail){ var clickedAt = +new Date; // During tests on 3g/3gs this timeout fires immediately if less than 500ms. setTimeout(function(){ // To avoid failing on return to MobileSafari, ensure freshness! if (+new Date - clickedAt < 2000){ window.location = fail; } }, 500); }
//下载链接 var appstore = 'http://a.app.qq.com/o/simple.jsp?pkgname=io.dcloud.H51FEE642' //点击下载按钮 $('.downApp .down').click(function(){ applink(appstore); })
HTML:
<!--下载按钮--> <div class="downApp clearfix"> <div class="des"> <p class="appName">“智房库”APP</p> <p>新房,二手房,出租房</p> </div> <a href="#" class="down-close">关闭</a> <a class="down" href="test://moolly">下载体验</a> </div>注意:第二步都是不变的,只是第一步根据不同的手机会有不同的配置,上面有链接