Firebase 动态链接 - 从 Play 商店安装应用程序后无法在 android 中获取 Url

Posted

技术标签:

【中文标题】Firebase 动态链接 - 从 Play 商店安装应用程序后无法在 android 中获取 Url【英文标题】:Firebase Dynamic Links - Can't get Url in android after install app from play store 【发布时间】:2018-12-13 19:04:04 【问题描述】:

如果我在单击动态链接时安装应用程序。当我第一次打开应用程序时,动态中的所有信息应该仍然可用。我怎样才能获得这些信息?当我使用它时它不起作用:getInitialLink() returns Promise<string|null>;

【问题讨论】:

我有完全相同的问题。 ios工作正常。我在firebaselinks.java中调试了本机java代码 getInitialLink 安装后总是返回null 你是马上从getInitialLink()取回返回值,还是里面有await 查看github.com/invertase/react-native-firebase/issues/1273 以供参考。 【参考方案1】:

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

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


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

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

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

Firebase Documentation - Use Case


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

Behave just like normal Links

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

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

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

如果还不是全部,我们可以将动态链接与 Firebase Analytics 集成,以跟踪与我们为应用程序生成的任何链接的交互。但是,如果我们只需要简单的跟踪,那么我们可以使用 Firebase 控制台中动态链接面板中的自动内置分析,我们还可以在其中获取交互链接的属性和引荐来源信息,而无需我们付出额外的努力。

What makes it different from Google Analytics?

当我读到 Firebase Analytics 时,我首先想到的就是“我的 Google Analytics 设置怎么样?”。因此,如果您已经安装了 Google Analytics,那么为什么要切换到 Firebase Analytics?好吧,这是两者之间的一些区别:

观众

我们可以使用 Firebase Analytics 来创建受众 — 这些是我们可以使用其他 Firebase 服务(例如 Firebase 通知和/或 Firebase 远程配置)与之交互的用户组。

与其他 Firebase 服务集成

Firebase Analytics 的一个很棒的事情是我们可以将其他 Firebase 服务与分析相集成。例如,为经历过通过 Firebase 崩溃报告报告的崩溃的用户创建受众群体。

减少方法计数

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

自动跟踪

当我们添加 firebase 核心依赖项时,它会自动开始为我们跟踪用户参与事件和设备信息的集合 — 如果您只想为您的应用收集最少的数据,这很有用。

无限报告

对于多达 500 个事件,Firebase Analytics 为我们提供了无限量的开箱即用的免费报告!

无单例初始化

在 Android 上设置 Google Analytics 时,我们需要初始化一个 Singleton 实例。 Firebase Analytics 只需从我们希望跟踪数据的地方直接获取实例即可。显然,这并不费力,只是让设置流程稍微容易一些。

单一控制台

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

【讨论】:

【参考方案2】:

看起来这是react-native-firebaseandroid 开放的错误

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

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

【讨论】:

【参考方案3】:

请检查您的清单文件 打开 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/

我希望这会有所帮助。抱歉,错别字了。

【讨论】:

以上是关于Firebase 动态链接 - 从 Play 商店安装应用程序后无法在 android 中获取 Url的主要内容,如果未能解决你的问题,请参考以下文章

测试未发布应用的 Firebase 动态链接

Firebase Invite for Beta 应用(Google Play 商店 Beta 和 iOS Testflight)

Android - “firebase.test.lab”设置无法从 Firebase 分析中排除 Play 商店测试活动

即使已安装应用,Firebase 动态链接也始终会转到应用商店网址

Firebase 动态链接没有与自定义标签上的短 URL 进行深度链接

卸载应用时动态链接firebase没有打开应用商店