经常在各大应用官网看到提示打开本应用的功能,如百度网盘点击后会直接唤起应用并开始下载。这种功能的实现是通过UrlScheme实现的。

URLScheme

称为URI协议(统一资源标志符协议),常用在超文本传输协定来指定准确的网络资源,现在也可支持其他资源描述方案。看起来晦涩不明,简单说:可以通过它指向到任何预设的资源。

通用语法:<方案协议名称>://<延伸部分>。(注意:双斜杠是URL必须的层级符号,其他资源理论上不需要,但现在浏览器都有自动搜索等高级功能,所以建议加上以免浏览器识别错误)

以常见的网络地址例如(https://google.com/maps),含义是以HTTPS协议的方式访问到google.com,并进入其设定的maps资源内,所以进入上面地址会打开GoogleMap。

常见官方方案

指在互联网号码分配局注册的官方URI方案,不同设备可能效果不同

  • http://[host path]:打开一个http资源
  • facetime://[phone number]:与指定的号码开始facetime通话
  • feed://[Rss address]:打开一个RSS订阅连结
  • file://[path]:打开指定位置的文件
  • ssh://[host]:打开一个ssh的连接
  • tel://[phone number]:拨打指定的电话号码
  • sms://[phone number]:发送短信给指定号码

自定义方案

在应用中可以配置独特的方案标识,当用户使用该标识时会转到本应用资源,如下面常见的方案

  • weixin://scanqrcode:打开微信扫一扫
  • alipayqr://platformapi/startapp?saId=10000007:打开支付宝扫一扫
  • map://:打开地图
  • clock-worldclock://:打开时钟
  • photos://:打开相册
  • … …

每个应用都可以自订方案,所以我们可以通过这种方式来实现更多快捷通道,使客户从官网快速分流到应用的不同模块中。

怎么获得方案

各个常见应用的UrlScheme可通过关键字从网络上获得,这里记录下mac上怎么查询app方案。

  1. 打开Finder,进入应用程式
  2. 找到app右键弹出选项,显示套件内容
  3. 进入Contents中,找到info.plist文件用文本方式打开
  4. 搜寻URLSchemes关键字,下面设置的值就是方案名称。

这里分享一个常用方案分享页面:gist.github.com

By 雪峰

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注