Android Firebase接入(二)--Firebase 动态链接(Dynamic Links)
一、简介
动态链接是指根据不同的场景响应不同行为的链接。
比如:你想要为app添加一个房间内邀请好友的功能,如果好友也安装了此app,点击分享链接就进入此房间,如果好友没有安装此app,那就跳转到Google Play下载页面(或者你自定义的任何页面),如果好友没有安装此app,而且他是苹果手机,那就跳转到苹果商店的应用下载页面。这个功能就可以使用Firebase的动态链接实现。
二、Firebase控制台配置动态链接
生成动态链接最简单的方式就是在Firebase控制台配置,在设置动态链接之前要先给项目添加SHA1和SHA256指纹信息。
1.添加SHA1和SHA256指纹
点击Project Overview右边的设置按钮,点击项目设置,到达以下界面,点击添加指纹:
获取SHA1和SHA256的方式见本系列第一篇文章:Android Firebase接入(序)–Firebase简介以及Firebase官方Demo的使用中的 “二、官方Demo:2.2.1获取调试签名证书SHA1,2.2.2获取正式签名证书SHA1”
2.设置动态链接
添加SHA1和SHA256完成后,打开Firebase的动态链接模块:
点击新建动态链接,到达以下界面:
短链接地址就是后面生成的短动态链接,使用默认的就可以,点击下一步,到达以下界面:
深层链接网址是指在电脑上打开动态链接时跳转的网址,一般填此app的Google Play链接。笔者随意填的一个网址用于测试:https://wkxjc.github.io/peppa_pig.jpg,动态链接名称是生成之后给自己看的,方便自己管理,点击下一步,到达以下界面:
针对iOS定义链接行为是指在苹果手机上打开动态链接时跳转的链接地址,可以选择打开第2步中定义的深层链接地址,也可以选择在iOS应用中打开深层链接。
如果选择在iOS应用中打开链接,那么就要选择一个此项目中的iOS应用。然后会细分成:用户安装了此应用时,跳转的链接地址,和用户没有安装此应用时,跳转的链接地址。
由于本项目中没有iOS应用,笔者选择了在浏览器中打开第2步中的链接地址,点击下一步,到达以下界面:
针对Android定义链接行为,可以选择跳转到第2步中的链接地址,也可以选择在Android应用中打开深层链接。
如果用户没有安装此应用,则跳转到应用的Google Play地址或者自定义网址。高级设置中还可以设置如果应用低于某版本,则打开Google Play引导用户更新。一般选择应用的Google Play页面即可。本例中的应用未在Google Play中上架,打开Google Play会查找不到应用,所以笔者将其跳转到自定义网址:Firebase官方Demo页面:https://github.com/firebase/quickstart-android。
高级设置根据自己的需要勾选,本例中不勾选,点击下一步,到达以下界面:
广告系列跟踪暂时没用上,直接不填,点击创建,创建完成后可以在链接详情中查看链接:
短动态链接和长动态链接只有长短的区别。点击两个链接都可以实现我们设置的跳转。
可以看到,本例中的短动态链接地址是:https://studyfirebasedynamiclinks.page.link/FDgu
3.测试
我们测试一下,在电脑上打开:
可以看到,确实打开了我们设置的深层链接地址。在ios上打开也会跳转到此深层链接,故不再演示。在Android设备上打开:
可以看到,跳转到了我们自定义的网址:Firebase官方Demo的地址。
注:由于Firebase需要翻墙使用,请自备梯子,否则无法跳转,如果翻墙使用的v*n代理,v*n需要设置为全局代理模式。