H5 唤起 APP 的解决方案

521 阅读2分钟

URL Scheme

什么是scheme

2880px-URI_syntax_diagram.svg.png

系统级scheme

类型scheme
短信sms://
app storeitms-apps://
电话tel://
备忘录mobilenotes://
E-Mailmailto://

UniversalLink(IOS专有)

效果

如果已安装APP,当用户点击网页链接时不会打开浏览器而是无缝跳转到你所安装的APP。如果未安装APP,则会直接在浏览器中打开所点击链接。

优势

  • 唯一性。不想自定义URL schema,universal link不会与其他APP重复,因为它们是符合标准的HTTP或HTTPS链接。
  • 灵活性。即便APP没有安装,universal link也可以生效。如果未安装APP,则会直接在浏览器中打开所点击链接。

准备步骤

  • 新建名为 apple-app-site-association 的文件, 添加JSON格式的数据,
  • Upload the apple-app-site-association file to your HTTPS web server. You can place the file at the root of your server or in the .well-known subdirectory.
  • Prepare your app to handle universal links.

注意点

  • 用户在浏览器中浏览页面时,当他点击一个与当前页面相同域名的universal link,则universal link不会跳转到APP,
  • IOS 9.0开始支持universal link,9.0之前不支持。

原理

当用户安装APP时,系统会检测APP所配置的universal link域名下是否存在apple-app-site-association文件,如果存在该文件,即下载该文件并根据文件内容

apple-app-site-association 格式

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "84T3U5M3Q7.com.noxgroup.app.lookifer.test",
        "paths": ["*"]
      },
      {
        "appID": "S967V3UL6K.com.noxgroup.app.noxlime",
        "paths": ["*"]
      }
    ]
  }
}

微信JS SDK

参考链接 developers.weixin.qq.com/doc/oplatfo…

接入步骤

接入微信SDK

import wx from 'weixin-js-sdk';

sdk初始化

wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
  appId: '', // 必填,公众号的唯一标识,由后端接口提供
  timestamp: , // 必填,生成签名的时间戳,由后端接口提供
  nonceStr: '', // 必填,生成签名的随机串,由后端接口提供
  signature: '',// 必填,签名,由后端接口提供
  jsApiList: [], // 必填,需要使用的JS接口列表
  openTagList: ['wx-open-launch-app'] // 可选,需要使用的开放标签列表
});