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

手机如果安装了该应用,就直接打开该应用;如果没有安装该应用,就下载该应用。那么下面就对在浏览器中,用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(打印数据)

猜你喜欢

转载自blog.csdn.net/lining1041204250/article/details/76575174
今日推荐