深层 link 参数不会通过 Mozilla Firefox 和 Opera 传递给 Android 应用程序
Deep link params are not passed through Mozilla Firefox and Opera to Android app
我正在尝试打开在 Firebase Deep Linking 服务上注册了已创建的 Deep link 的应用程序。除了原始的 link,我正在尝试将一些额外的参数传递给应用程序以处理此 link。
比如我有一个link:https://my-custom.page.link/page?page=place&id=1001126
link https://my-custom.page.link/page 已在 Firebase 服务上注册并且 ?page=place&id=1001126 是自定义参数。
由于我们正在构建一个 react-native 应用程序,这在 IOS 应用程序的所有浏览器上都按预期工作。在 Android 应用程序上,它在 Google 浏览器上按预期工作,但在 Firefox 或 Opera 上没有。
在 Android Firefox 和 Opera 浏览器上,当我单击 link 时,它会被重定向到我的应用程序,但不会向其传递其他参数。
是否需要为 Android 项目设置任何其他配置来修复此行为?
在我记录从 react-native Linking.getInitialURL() 返回的数据后,我得到了 null。
import { Linking } from 'react-native'
.
.
.
async componentDidMount () {
const deepLinkUrl = await Linking.getInitialURL()
console.warn('deepLinkUrl => ', deepLinkUrl) // IOS: correct payload Object, Android: null - Firefox and Opera
}
我希望在两个平台上都能获得正确的数据负载。
我在使用 Firebase Dynamic links 时遇到过类似的问题。
不幸的是,我无法使用这种方法从 Mozilla 和 Opera 浏览器传递参数。
但是我发现这样做的方式很老套。
如果你使用 firebase react native 包:import firebase from 'react-native-firebase'
,它也有深入的功能 link url : deepLinkUrl = await firebase.links().getInitialLink()
使用此功能,您将从 Firebase Dynamic Link 获取 App Store url。
想法是以编码参数的方式通过 App Store url 传递参数,例如 https://yourlink.page.link/?link=https://play.google.com/store/apps/details?id%3Dcom.yourapp%26param1%3Dvalue%26param2%3Dvalue...
如果用户进入应用商店,这些参数将被条带化,如果用户在应用中打开 link,您将能够从这个 url 中提取参数。
希望这个回答对您有所帮助。 :)
我正在尝试打开在 Firebase Deep Linking 服务上注册了已创建的 Deep link 的应用程序。除了原始的 link,我正在尝试将一些额外的参数传递给应用程序以处理此 link。
比如我有一个link:https://my-custom.page.link/page?page=place&id=1001126
link https://my-custom.page.link/page 已在 Firebase 服务上注册并且 ?page=place&id=1001126 是自定义参数。
由于我们正在构建一个 react-native 应用程序,这在 IOS 应用程序的所有浏览器上都按预期工作。在 Android 应用程序上,它在 Google 浏览器上按预期工作,但在 Firefox 或 Opera 上没有。
在 Android Firefox 和 Opera 浏览器上,当我单击 link 时,它会被重定向到我的应用程序,但不会向其传递其他参数。
是否需要为 Android 项目设置任何其他配置来修复此行为?
在我记录从 react-native Linking.getInitialURL() 返回的数据后,我得到了 null。
import { Linking } from 'react-native'
.
.
.
async componentDidMount () {
const deepLinkUrl = await Linking.getInitialURL()
console.warn('deepLinkUrl => ', deepLinkUrl) // IOS: correct payload Object, Android: null - Firefox and Opera
}
我希望在两个平台上都能获得正确的数据负载。
我在使用 Firebase Dynamic links 时遇到过类似的问题。 不幸的是,我无法使用这种方法从 Mozilla 和 Opera 浏览器传递参数。
但是我发现这样做的方式很老套。
如果你使用 firebase react native 包:import firebase from 'react-native-firebase'
,它也有深入的功能 link url : deepLinkUrl = await firebase.links().getInitialLink()
使用此功能,您将从 Firebase Dynamic Link 获取 App Store url。
想法是以编码参数的方式通过 App Store url 传递参数,例如 https://yourlink.page.link/?link=https://play.google.com/store/apps/details?id%3Dcom.yourapp%26param1%3Dvalue%26param2%3Dvalue...
如果用户进入应用商店,这些参数将被条带化,如果用户在应用中打开 link,您将能够从这个 url 中提取参数。
希望这个回答对您有所帮助。 :)