在 H5 页面中可以通过 Universal Link 和 Scheme 的形式检测 App 是否已安装,具体实现如下:

  1. Universal Link 方式:
  • iOS 系统:在页面中引入 App 的 apple-app-site-association 文件,然后使用 JavaScript 监听跳转事件,在通过 a 标签跳转至 App 相应的 Universal Link 时,如果 App 已安装,则直接通过 Universal Link 唤起 App;否则,跳转至 App Store 下载页面。具体代码如下:
    window.location.href = 'https://yourapp.com/path';
    // 或者使用 <a> 标签
    <a href="https://yourapp.com/path">Open App</a>
  1. Scheme 方式:
  • Android 系统:在页面中引入一个隐藏的 iframe 标签,然后利用 JavaScript 判断 App 是否已安装,如果已安装,则通过设置该 iframe 的 src 属性来唤起 App;否则,跳转至 App 下载页面。具体代码如下:
   var ifr = document.createElement('iframe');
    ifr.src = 'yourapp://path'; // yourapp 为自定义的 Scheme,path 为 App 中对应的路径
    ifr.style.display = 'none';
    document.body.appendChild(ifr);

    setTimeout(function () {
        document.body.removeChild(ifr);
    }, 2000); // 设置超时时间为 2 秒,如果 2 秒内 App 未启动,则认为未安装

需要注意的是,Scheme 方式不支持 iOS 系统,而 Universal Link 方式则要求服务器支持 HTTPS 协议,并需要进行相应的配置,比较麻烦。因此,在选择检测 App 是否安装的方式时,需要考虑到兼容性、复杂度和可行性等因素。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐