一、什么是App Link
Android的App Link类似iOS的 Universal Link,可以从外部跳转到app页面。
在没有配置前,打开一个h5链接,就会唤起浏览器打开相应的网页,配置了App Link或者Universal Link后,如果已经安装了相应的App就能直接启动App中相应的页面,如果没有安装,才会打开浏览器跳转到H5链接。
二、App Link和Deep Link有什么区别
Deep Link配置后并不能直接打开App,比如打开一个配置好Deep Link的H5页面后,还需要用户点击同意打开app,才能启动App。
而App Link配置后,无需用户点击同意,就能直接打开App中相应的页面。
三、开发
开发配置流程可以自己手写代码,也可以用Android Studio Tools下面的App Links Assistant,这里用App Links Assistant来演示:
1、配置App Link
打开App Links Assistant后,打开Create Applink
在新页面中会有4个配置的步骤,如下所示:
选中第一步Open URL Mapping Editor,配置App Link的schema、域名、后缀等:
第一个是域名地址(注意不要加www),第二个是域名后跟的链接字段,第三个是配置哪个Activity作为这个App Link的启动对象。
这里注意Path配置如果希望扩展性强,就选择pathPrefix,匹配前缀即可,如果选path,那么只有这个路径完全相同才能匹配上,path后面再添加字符就不能匹配了。
配置好后如下所示,可以看到这里autoVerify配置为true,就是代表App Link会自动验证:
2、创建assetlinks.json
再点击上面的Open Digital Asset Links File Generator,打开页面如下:
1配置上一步中的域名地址,注意不要加path
2配置app的包名
3配置是否和网站共享用户登录信息,这里没有特殊要求就不勾选
4选择签名文件,这里注意如果debug包和release包的签名不一样,这里要验证哪个包,就要用哪个签名去生成对应的assetlinks.json文件。
生成好后点击右侧的保存文件,将assetlinks.json文件保存到本地。
3、assetlinks.json
放到域名服务器.well-known目录下
将2中生成的assetlinks.json
文件放到服务器域名下的.well-known
文件夹中,如果没有,创建一个即可。
在阿里云ubuntu服务器上地址即:/var/www/html/dist/.well-known
然后浏览器打开配置的域名/.well-known/assetlinks.json
地址能打开就说明配置好了。
四、验证
点击上面的第4步,Test App Links,打开页面如下:
输入上面配置好的schema://host/pathprefix
,点击Run Test如果显示正常,就会看到app被打开了。
其他验证方式
在手机上,备忘录中输入上面的链接:schema://host/pathprefix
,替换成你配置的地址,点击备忘录中的这个地址,也能看到app被打开了,而不是打开的浏览器中对应网页。
发送短信同样可以验证。
如果域名服务器上没有配置assetlinks.json,那么会看到手机上打开的还是浏览器中对应的H5链接,并不会启动App。
下一篇中我们看待iOS如何实现