h5怎么在浏览器中打开app?安卓到指定商城下载app?

项目场景:

运营使用落地页推广h5,用户扫码进入h5页面,

  • 如果用户手机中安装了公司的app,则自动打开app,并到指定页面
  • 没有安装的话,点击页面中的下载app按钮:
    • ios直接打开app store去下载
    • 安卓需要到指定的手机市场去下载。比如小米手机就去小米市场,华为,就去华为市场下载(前提是这些市场中,你都有上线,如果没有的话,则本地浏览器下载)

需要实现的功能

  • 点击下载跳转到手机自带商城下载
  • 自动打开app
    • 安卓中无法自动打开app,浏览器回拦截,只有用户手动触发才可以
    • ios会自动打开
  • 手动触发打开app

解决方案:

关于自动打开app功能,和产品业务沟通,该功能砍掉

下载功能
app下载地址找对应的客户端要

// 安卓中下载  调起应用商店操作
window.location.href = "market://details?id=你们公司项目的包名";
// ios下载
// https://apps.apple.com/cn/app/我是一个ios包名下载地址

打开app
协议地址找客户端要,让ios和安卓定一样的协议

// 打开app的协议
// openAppletsOpt 为需要和app传递的参数信息
const path  = `wdy2023://公司的包名/applet?${this.openAppletsOpt}`
 window.open(path, "_self");

注意事项:

  1. 区分当前是否在微信环境,如果在,点击的时候,记得引到去浏览器打开
  2. 上述写法,不管是不是默认浏览器都能正常打开和下载(已验证)
  3. 手动触发打开或者是下载时,浏览器有的会弹框询问是否打开,属于正常情况

题外话

今天上班的路上,看了一篇小说,讲述了一个后辈凭借信物找到了前辈的一个洞府,里面有很多任主人在奔向最强之路留下的秘籍,经验等等。。。
在此也希望前端的小伙伴能把自己项目中的问题,经验留下,以便他人学习成长,今年2023年,不知20年后,是否有人能在评论留言,一起传递

你可能感兴趣的:(Vue,前端,浏览器打开)