火力地堡动态链接 - 不能在Android开网址安装在Play商店中的应用程序后的表现就像正常的链接是什么使得它从谷歌Analytics(分析)有什么不同?

问题描述 投票:9回答:2

如果我点击动态链接时,安装应用程序。所有从动态的信息应该是仍然可用,当我打开应用程序的第一time.How我可以得到这些信息?它不工作时,我用这个:getInitialLink() returns Promise<string|null>;

android firebase react-native firebase-dynamic-links react-native-firebase
2个回答
1
投票

因为,你没有提到 - 我假设您有较短的网址的问题,如果是这样的情况下,尝试把长URL。

refer here on Simon's answer:当我用长而不是短链接,一切工作完全正常。


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

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

然后,在回调中,你可以通过调用getDeepLink()方法得到的动态链接链接参数传递的数据:

Firebase Documentation - Use Case


For future reference or detailed answer on Firebase Dynamic Links

Behave just like normal Links

在应用不需要安装(比如,如果已经安装),然后单击动态链接会自动打开链接到想要的画面的情况。

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

  • 用户开始通过点击动态链接
  • 如果动态链接目标的需求得到满足(这是,安装的应用程序),那么用户导航到目标位置
  • 否则,如果应用程序需要安装才能导航到动态链接目标,该用户被安装的应用点。一旦应用程序已经安装,用户导航到动态链接的目标位置

Dynamic Links process flow

如果这还不是全部,我们可以整合与火力地堡分析动态链接来追踪,我们为我们的应用程序的任何链接的交互。但是,如果我们只需要简单的跟踪,那么我们可以从火力地堡控制台中的动态链接面板,我们也能获得归属和推荐信息与从我们身边不需要额外的努力互动环节使用自动内置的分析。

What makes it different from Google Analytics?

其中一个是来到我的脑海里,当我读到火力地堡分析的第一件事就是,“那我的谷歌Analytics(分析)设置?”。所以,如果你已经有了谷歌分析到位,那么为什么你要切换至火力地堡Analytics(分析)?那么,这里的一对夫妇的两个之间的差异:

观众

我们可以用火力地堡Analytics(分析)创建观众 - 这些都是用户,我们可以再使用其他火力地堡服务,如火力地堡声明和/或火力地堡远程配置交互的群体。

集成与其他火力地堡服务

与火力地堡分析一个真棒的事情是,我们可以通过Google Analytics集成其他火力地堡服务。例如,创建谁经历过火力地堡崩溃报告报告崩溃用户受众群体。

较低的计数方法

Android上的谷歌Analytics(分析)的依赖有18607种方法总数和已累计使用4KB的依赖关系的。在另一方面,火力地堡核心(用于分析)具有用于依赖关系的15130和仅1KB的方法计数。

自动跟踪

当我们添加火力核心的依赖,它会自动开始跟踪的用户参与活动,并为我们的设备信息收集 - 如果你只希望收集少量的数据为您的应用程序,这是有用的。

无限报告

在长达500个事件,火力地堡Analytics(分析)为我们提供了无限的报告开箱的是免费的!

没有辛格尔顿初始化

当设定Android的谷歌分析,我们需要初始化Singleton实例。火力地堡分析是简单直接的地方,我们希望跟踪数据获取实例可用。这不是很大的努力,但显然只是使设置流程稍微容易些。

单一控制台

所有每火力地堡服务的数据是可用的单一控制台。这使得双方更容易和更快让我们从检查统计分析为我们的应用程序来查看最新的崩溃报告中导航。


0
投票

看起来这是一个react-native-firebase开放错误的android

为了解决这个问题,需要在模块代码被改变的唯一事情:

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

private boolean isInvitation(PendingDynamicLinkData pendingDynamicLinkData) {
    FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(pendingDynamicLinkData);
    if (invite != null && invite.getInvitationId() != null && !invite.getInvitationId().isEmpty()) {
        return true;
    }
    return false;
}

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

© www.soinside.com 2019 - 2024. All rights reserved.