导航组件似乎仅适用于短动态链接
示例: 长动态链接
https://domaindebug.page.link/?link=https://www.website.com&apn=com.x.debug&isi=122...6&ibi=com.ios.x.debug&efr=1
短动态链接
https://domaindebug.page.link/register
<fragment
android:id="@+id/fragment_register"
android:name="com.x.presentation.feature.identification.view.RegisterFragment"
tools:layout="@layout/fragment_register">
<action
... />
<argument
android:name="code"
android:defaultValue="@null"
app:argType="string"
app:nullable="true" />
<deepLink
android:id="@+id/deepLink"
app:uri="https://domaindebug.page.link/register?code={code}" />
</fragment>
如果单击长动态链接,则什么也没有发生。 我该如何处理?我也找不到任何有关集成Firebase动态Deeplink +导航组件的文档
答案 0 :(得分:0)
到目前为止,我还没有看到动态链接与导航组件的任何正式集成。但是,通过在FirebaseDynamicLinks
的帮助下获取链接并将其传递给NavController
来手动集成它们非常简单:
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(this) { link ->
findNavController(R.id.nav_host_fragment).handleDeepLink(Intent().apply {
data = link?.link
})
}
请查看我创建的sample project来展示这个想法。它在单独的活动中处理深层链接,以使UI更加平滑,但将链接移交给导航组件进行处理。