Firebase动态链接:应用从商店安装时的深层链接存储与获取机制
Firebase动态链接核心机制解析(未安装应用场景)
深层链接信息的存储位置
- 用户点击动态链接但应用未安装时,Firebase会把深层链接的核心信息(比如目标页面路径、自定义参数)存在Firebase后端服务器,同时生成一个和当前设备绑定的临时标识(比如基于设备广告ID或匿名标识符)。
- 跳转到应用商店的URL里会附带少量关联标识参数,但核心的深层链接数据不会直接放在URL里,避免参数过长或者敏感信息泄露。
SDK获取深层链接的逻辑
- 应用安装完成首次启动时,Dynamic Links SDK会自动向Firebase后端发请求,带上设备的标识信息(比如安装后生成的实例ID、广告ID)。
- Firebase后端通过这个标识找到之前存储的对应深层链接记录,把数据返回给SDK。
- SDK拿到数据后,会把它传递给应用的回调逻辑,开发者可以通过
getDynamicLink(Android端)这类方法获取并处理链接信息。 - 注意:这种匹配是有时间限制的,Firebase一般会保留记录7天左右,超过时限就拿不到之前的链接信息了。
iOS端的等效实现机制
- iOS上Firebase Dynamic Links的逻辑和Android基本对齐,但需要结合iOS系统特性:
- 用户点击动态链接跳转到App Store时,Firebase会把设备标识和链接信息绑定存储在后端。
- 应用安装后首次启动,SDK会通过
FIRDynamicLinks.dynamicLinks().handleUniversalLink(_:completion:)方法,或者application(_:continue:restorationHandler:)系统回调获取通用链接信息,同时向Firebase后端请求匹配的深层链接数据。 - iOS的
SKAdNetwork、IDFA/IDFV会用来辅助设备标识匹配,确保能精准关联到之前点击的动态链接。 - 如果是TestFlight安装或者设备禁用了广告ID,Firebase会用其他匿名标识完成匹配,只是成功率会稍有下降。
内容的提问来源于stack exchange,提问作者Masahiro Aoki
相关产品推荐
相关产品推荐

