Android客户端(1)-App Link开发指南

612 阅读3分钟

一、什么是App Link

AndroidApp Link类似iOSUniversal 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来演示:

image.png

1、配置App Link

打开App Links Assistant后,打开Create Applink

image.png

在新页面中会有4个配置的步骤,如下所示:

image.png

选中第一步Open URL Mapping Editor,配置App Link的schema、域名、后缀等:

image.png

第一个是域名地址(注意不要加www),第二个是域名后跟的链接字段,第三个是配置哪个Activity作为这个App Link的启动对象。

image.png

这里注意Path配置如果希望扩展性强,就选择pathPrefix,匹配前缀即可,如果选path,那么只有这个路径完全相同才能匹配上,path后面再添加字符就不能匹配了。

image.png

配置好后如下所示,可以看到这里autoVerify配置为true,就是代表App Link会自动验证:

image.png

2、创建assetlinks.json

再点击上面的Open Digital Asset Links File Generator,打开页面如下:

image.png

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地址能打开就说明配置好了。

image.png

四、验证

点击上面的第4步,Test App Links,打开页面如下:

image.png

输入上面配置好的schema://host/pathprefix,点击Run Test如果显示正常,就会看到app被打开了。

其他验证方式

在手机上,备忘录中输入上面的链接:schema://host/pathprefix,替换成你配置的地址,点击备忘录中的这个地址,也能看到app被打开了,而不是打开的浏览器中对应网页。

image.png

发送短信同样可以验证。

如果域名服务器上没有配置assetlinks.json,那么会看到手机上打开的还是浏览器中对应的H5链接,并不会启动App。

下一篇中我们看待iOS如何实现