android - 深层链接参数不会通过 Mozilla Firefox 和 Opera 传递到 Android 应用程序

标签 android firebase react-native deep-linking firebase-dynamic-links

我正在尝试打开在 Firebase 深层链接服务上注册的已创建深层链接的应用。除了原始链接之外,我还尝试将一些额外的参数传递给应用程序以处理此链接。

例如,我有一个链接:https://my-custom.page.link/page?page=place&id=1001126

链接https://my-custom.page.link/page已在 Firebase 服务上注册,并且 ?page=place&id=1001126 是自定义参数。

由于我们正在构建一个 react native 应用程序,因此它在 IOS 应用程序上的所有浏览器上都能按预期工作。在 Android 应用程序上,它在 Google 浏览器上按预期工作,但在 Firefox 或 Opera 上则不然。

在 Android Firefox 和 Opera 浏览器上,当我单击链接时,它会重定向到我的应用程序,但不会传递其他参数。

是否需要为 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 动态链接时遇到了类似的问题。 不幸的是,我无法使用这种方法从 Mozilla 和 Opera 浏览器传递参数。

但是我发现了一种很奇怪的方法。

如果您使用 firebase React Native 包:import firebase from 'react-native-firebase',它还具有获取深层链接 url 的功能:deepLinkUrl = wait firebase.links() .getInitialLink()

使用此函数,您将从 Firebase 动态链接获取 App Store 网址。 想法是通过 App Store url 以编码参数的方式传递参数,例如 https://yourlink.page.link/?link=https://play.google.com/store/apps/details? id%3Dcom.yourapp%26param1%3Dvalue%26param2%3Dvalue...

如果用户访问应用商店,这些参数将被 strip 化,并且如果用户打开应用中的链接,您将能够从此网址提取参数。

希望这个答案对您有所帮助。 :)

关于android - 深层链接参数不会通过 Mozilla Firefox 和 Opera 传递到 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56701785/

相关文章:

android - ClassCastException 安卓工作室

ios - swift 函数不返回字符串?

react-native - 我的 native 应用程序在从我的服务器错误 : "type error :Network Request Failed " 获取数据时显示错误

react-native - 如何在水平 `FlatList` 上显示垂直分隔符?

firebase - 在 firebase 中使用多个数据库是否会使每个数据库都有自己的用途?

react-native - React Native Scrollview 检测负滚动

android - 带有选中 TextView 的 ListView

android - Android应用程序中图像按钮的UI问题

android - 我无法访问设置中的 SDK 工具选项卡

android - 在 firebase 分析调试 View 中看不到事件