导航组件似乎只使用短动态 link (firebase)
Navigation component seems just working with short dynamic link (firebase)
导航组件似乎只能使用短动态 link
示例:
长动态 Link
https://domaindebug.page.link/?link=https://www.website.com&apn=com.x.debug&isi=122...6&ibi=com.ios.x.debug&efr=1
短动态Link
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>
如果我点击长动态 link,没有任何反应。
我该如何管理?我也找不到任何关于 integrate firebase dynamic deeplink + navigation component
的文档
到目前为止,我还没有看到任何正式的动态 links 与导航组件的集成。但是通过在 FirebaseDynamicLinks
的帮助下获取 link 并将其传递给 NavController
:
来手动集成它们非常简单
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(this) { link ->
findNavController(R.id.nav_host_fragment).handleDeepLink(Intent().apply {
data = link?.link
})
}
请查看我为展示想法而创建的 sample project。它在单独的 activity 中处理深度 link 以使 UI 更平滑,但将 link 移交给导航组件进行处理。
导航组件似乎只能使用短动态 link
示例: 长动态 Link
https://domaindebug.page.link/?link=https://www.website.com&apn=com.x.debug&isi=122...6&ibi=com.ios.x.debug&efr=1
短动态Link
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>
如果我点击长动态 link,没有任何反应。 我该如何管理?我也找不到任何关于 integrate firebase dynamic deeplink + navigation component
的文档到目前为止,我还没有看到任何正式的动态 links 与导航组件的集成。但是通过在 FirebaseDynamicLinks
的帮助下获取 link 并将其传递给 NavController
:
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(this) { link ->
findNavController(R.id.nav_host_fragment).handleDeepLink(Intent().apply {
data = link?.link
})
}
请查看我为展示想法而创建的 sample project。它在单独的 activity 中处理深度 link 以使 UI 更平滑,但将 link 移交给导航组件进行处理。