Firebase动态链接-从Play商店安装应用后,无法在Android中获取网址

时间:2018-07-05 10:22:28

标签: android firebase react-native firebase-dynamic-links react-native-firebase

如果我在单击动态链接时安装了该应用程序。当我第一次打开应用程序时,来自dynamic的所有信息应该仍然可用。如何获取这些信息?当我使用以下命令时,它不起作用:getInitialLink() returns Promise<string|null>;

3 个答案:

答案 0 :(得分:1)

既然如此,您没有提到-我假设您在使用较短的url时遇到问题,如果是这种情况,请尝试输入较长的url。

refer here on Simon's answer当我使用长链接而不是短链接时,一切正常。


在Android上,您使用getInvitation()方法从动态链接获取数据:

AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback
(/* ... */);

然后,在回调中,您可以通过调用getDeepLink()方法来获取在Dynamic Links链接参数中传递的数据:

Firebase Documentation - Use Case


有关Firebase动态链接的将来参考或详细答案

Behave just like normal Links

如果不需要安装应用程序(例如,如果已安装),则单击“动态链接”将自动打开指向所需屏幕的链接。

动态链接的流程非常简单:

  • 用户首先点击动态链接
  • 如果满足Dynamic Link目标的需求(即正在安装的应用程序),则将用户导航到目标位置
  • 否则,如果应用程序需要安装才能导航 到动态链接目标,则将用户带到 安装该应用程序。安装应用程序后, 用户导航到动态链接的目标位置

Dynamic Links process flow

如果这还不是全部,我们可以将动态链接与Firebase Analytics集成在一起,以跟踪与为应用程序生成的任何链接的交互。但是,如果我们只需要简单的跟踪,则可以使用Firebase控制台中“动态链接”面板中的自动内置分析功能,在此我们也无需费力就能获得交互链接的属性和引荐来源信息。

What makes it different from Google Analytics?

当我阅读有关Firebase Analytics的信息时,想到的第一件事就是“我的Google Analytics(分析)设置如何?”。因此,如果您已经安装了Google Analytics(分析),那么为什么要切换到Firebase Analytics?好吧,这是两者之间的一些区别:

受众

我们可以使用Firebase Analytics创建受众群体-这些是用户组,然后我们可以使用其他Firebase服务(例如Firebase Notifications和/或Firebase Remote Config)与之进行交互。

与其他Firebase服务集成

Firebase Analytics的一项令人敬畏的事情是,我们可以将其他Firebase服务与分析集成在一起。例如,创建一个通过Firebase崩溃报告报告了崩溃的用户的受众。

降低方法计数

对Android的Google Analytics(分析)依赖项共有18,607种方法,并且用于依赖项的总数为4kb。另一方面,Firebase Core(用于Google Analytics(分析))的方法计数为15,130,仅1kb用于依赖关系。

自动跟踪

当我们添加firebase核心依赖项时,它将自动为我们跟踪用户参与事件和设备信息的集合。如果您希望仅收集应用程序的最少数据,这将很有用。

无限报告

对于多达500个事件,Firebase Analytics可直接为我们提供免费的无限制报告!

无单例初始化

在Android上设置Google Analytics(分析)时,我们需要初始化Singleton实例。通过直接从我们希望跟踪数据的位置获取实例,即可轻松使用Firebase Analytics。显然,这并不需要付出很多努力,但只会使设置流程变得更加容易。

单个控制台

每个Firebase服务的所有数据都可用于单个控制台。这使我们可以更轻松快捷地进行导航,从检查应用程序的分析统计信息到查看最新的崩溃报告。

答案 1 :(得分:0)

这似乎是react-native-firebase的{​​{1}}打开错误

要修复,唯一需要在模块代码中更改的内容:

android

private boolean isInvitation(PendingDynamicLinkData pendingDynamicLinkData) {
    return FirebaseAppInvite.getInvitation(pendingDynamicLinkData) != null;
}

错误参考: https://github.com/invertase/react-native-firebase/issues/1273

答案 2 :(得分:0)

请检查您的清单文件 打开 AndroidManifest.file => 在您的 activity 标签中有 intent-filter 标签放在该标签的下方。

<data android:scheme="https" android:host="your.dynamic.link" />
<data android:scheme="http" android:host="your.dynamic.link" />

如果已经完成,请在带有 react native 的动态链接上查看完整博客的链接。 链接:http://blog.logicwind.com/react-native-dynamic-links-using-firebase/

我希望这会有所帮助。抱歉打错了。