导航组件似乎只是使用短动态链接(firebase)

rgu*_*rra 7 android firebase firebase-dynamic-links androidx

导航组件似乎只是使用短动态链接

示例:长动态链接

https://domaindebug.page.link/?link=https://www.website.com&apn=com.x.debug&isi=122...6&ibi=com.ios.x.debug&efr=1
Run Code Online (Sandbox Code Playgroud)

短动态链接

https://domaindebug.page.link/register
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

如果我点击长动态链接,没有任何反应。我该如何管理?我也找不到任何关于集成 firebase 动态深度链接 + 导航组件的文档

ese*_*sov 5

到目前为止,我还没有看到任何官方将动态链接与导航组件集成的情况。但手动集成它们非常简单,只需在以下命令的帮助下获取链接FirebaseDynamicLinks并将其传递给NavController

FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener(this) { link ->
                findNavController(R.id.nav_host_fragment).handleDeepLink(Intent().apply {
                    data = link?.link
                })
            }
Run Code Online (Sandbox Code Playgroud)

请查看我创建的示例项目来展示这个想法。它在单独的 Activity 中处理深层链接以使 UI 更加流畅,但将链接移交给导航组件进行处理。