iOS通用链接
什么是通用链接
通用链接是iOS9出的一个特性,他能让用户通过链接直接打开你的APP。经常配合分享功能,让用户快速进入到我们的APP里面。
APP的两大引流功能 --> 分享+推送。
分享功能应当要能将对APP感兴趣的用户引入到APP,当前微信的浏览器将URL Schemes屏蔽掉了,一般做法是是只能借助系统浏览器中转。使用通用链接可以跳过微信对URL Schemes的屏蔽。
使用通用链接的前提条件
1.能够通过 SSL 访问域名。(即支持https://访问)
2.支持上传一个无后缀文件到域名解析的服务器的.well-known文件下面,并且能通过链接直接访问并且下载。
如果后台服务器是支持SSL的,直接将文件丢在根目录下面,然后配置一下iis的MIME的权限(因为iis默认不支持无后缀的文件,所以访问不到)。
如果后台服务器的域名还不支持SSL,那么先去腾讯云,阿里云去购买证书,然后到iis下面去安装这个证书。
实现步骤
1.开启对应的AppIDs的Associated Domains服务
登录APPDevelop,找到当前app的App ID并且将此AppId的 Associated Domains选项置为enable.
2.编辑此AppId对应的Provisioning Profiles,并且重新下载双击安装.
3.打开Xcode项目,开启项目的Associated Domains,这时候会看到左边目录下多出了一个文件。
4.编写一个无后缀的apple-app-site-association
说明:
appID里面TeamID是项目的TeamID(可以从Membership中查看),com.xxxx.xxxx是项目的BundleID
details里面是不同的链接方式(可以是任意字符串)都能进入到APP里面,开发者可以通过控制details里面的paths来进行不同页面不同模块的跳转。 上面最后生成的链接为https://www.xxxx.com/123/
生成文件后,将apple-app-site-association文件上传到服务器的.well-known文件夹下面。然后验证文件是否合格:
苹果验证网站 https://www.xxxx.com/apple-app-site-association
即为:域名+“apple-app-site-association”进行验证(有时候这里校验也不是很准确)
5.测试一下通用链接是否生效。 这里可以将刚才的链接 https://www.xxxx.com/123/ 写到备忘录中,点击链接,如果出现[在"xxxx(App名称)"中打开],即为链接生效.
到这里,通用链接生成成功,可以在分享时使用此链接,从微信也可以直接跳转到app内,而不用通过Safari中转.
与App交互:
在AppDelegate中,实现代理:
利用这个代理,能够捕捉通过通用链接进入APP的时机,以及通用链接上面附带的信息。通过这些信息可以实现跳转/其他功能。
Last updated