经常在各大应用官网看到提示打开本应用的功能,如百度网盘点击后会直接唤起应用并开始下载。这种功能的实现是通过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方案。
- 打开Finder,进入应用程式
- 找到app右键弹出选项,显示套件内容
- 进入Contents中,找到info.plist文件用文本方式打开
- 搜寻
URLSchemes
关键字,下面设置的值就是方案名称。
这里分享一个常用方案分享页面:gist.github.com