您的位置:首页 > 移动开发

H5链接打开APP并跳转到制定界面

2017-08-02 12:34 211 查看
手机如果安装了该应用,就直接打开该应用;如果没有安装该应用,就下载该应用。那么下面就对在浏览器中,用js判断某用户是否安装了该应用,并判断是否打开该应用做个简单的介绍。

那么,怎么判断某用户是否安装了某应用呢?

在这里,先写段js代码,如下:

<script>
function isInstalled(){
alert("11")
var the_href="https://itunes.apple.com/us/app/%E7%99%BE%E7%BA%AC%E5%81%A5%E5%BA%B7-%E4%B8%93%E5%AE%B6%E9%97%AE%E8%AF%8A-%E5%81%A5%E5%BA%B7%E6%8A%A5%E5%91%8A%E8%A7%A3%E8%AF%BB-%E4%BD%93%E6%A3%80%E9%A2%84%E7%BA%A6/idxxxxxxxx?mt=x";//获得下载链接
window.location.href="palmos://";//打开某手机上的某个app应用
setTimeout(function(){
window.location.href=the_href;//如果超时就跳转到app下载页
},2000);
}
isInstalled();
</script>


下面对这段js代码做一个简单的解析:首先试着打开手机端某个app的本地协议;如果超时就转到app下载页,下载该app。

"palmos://"是什么呢?它是在iOS客户端设置一个URL Scheme名字,示例设置的是:palmos 如图:




同时设置白名单:



此时URL Scheme和白名单设置完成就可以调起APP了。

打开Safari并输入:palmos://

如图1:



图2:



最后是跳转到制定界面设置:

在这设置:palmos://action/?param=1

//js
window.location.href="palmos://action/?param=1";//打开某手机上的某个app应用,传参数


APP启动回调实现

//OC
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"%@",url);
//对url操作处理,并制定跳转实现部分
//......
//跳转实现部分
//......
return YES;
}


打印数据

...11:34:03.402228+0800 baiweijk4iphone[1661:958328] handle choose card
function:-[BWAppDelegate application:openURL:sourceApplication:annotation:] line:531 content:palmos://action/?param=1
//即:palmos://action/?param=1(打印数据)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息