Firebase动态链接是否同步



im试图使用Firebase动态链接打开应用程序中的屏幕,如下所示:

FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(activity) { pendingDynamicLinkData ->
val uri = pendingDynamicLinkData?.link
val fragment = fragmentFromUri(uri)
fm.replace(fragment)
}

然而,这是异步的。因此,我的主屏幕在瞬间可见,然后切换到深度链接屏幕。

有办法避免这种情况吗?我可以同步提取深层链接吗?当我已经安装好时,我确实看到了intent.data参数,但是在新安装后,数据为null,只有firebase回调有效。如果意图有无效的额外内容,它是如何工作的?有网络检查吗?

感谢

没有办法同步加载动态链接内容(至少我知道(。

通常的解决方案是在解析动态链接的同时显示一个更中性的屏幕(例如,一个空白屏幕,或者在相当中性的主题中显示"加载"的内容(,然后转换到活动中指示的片段或实际的主屏幕。

fun getDeepLink(intent: Intent): String? {
return try {
val task = FirebaseDynamicLinks.getInstance().getDynamicLink(intent)
val deepLink = task.result.link?:return null
val landingSection: String = deepLink.getQueryParameter("your_link")?:return null
landingSection
}catch (e:Exception){
null
}
}

最新更新