【问题标题】:Android Firebase Dynamic Links, A way to simulate Play Store install via deeplinkAndroid Firebase 动态链接,一种通过深度链接模拟 Play 商店安装的方法
【发布时间】:2021-12-06 12:29:44
【问题描述】:

我们在原生 Android 应用程序中定义了几个 Firebase 动态链接。对于第一次来自动态链接并安装应用程序的用户,我们想了解他们来自哪个动态链接。

我的问题是为了做到这一点,有没有办法从动态链接伪造 Play 商店安装?因为出于测试目的,我需要检查哪些数据即将到来。

例子:

是否有可能知道URI 是哪个Open 按钮通过了应用程序?

在 iOS 中,它更容易测试。当用户单击动态链接并进入 App Store 时,您可以运行代码库并安装应用程序。当应用程序打开时,它的行为仍然像从 App Store 安装的一样。但从 Android 方面来看,它不是那样工作的。

希望它足够解释。期待建议。

【问题讨论】:

    标签: android firebase google-play firebase-dynamic-links


    【解决方案1】:

    对于那些可能正在为同样的问题而苦苦挣扎的人,这里是我如何解决的。

    首先,尽管Firebase Dynamic Links Documentation 中说链接将在 Play 商店安装过程中继续存在,但这并不完全正确。就像我的情况一样

    当用户打开应用执行上述步骤后,Firebase 动态链接监听器将只获取您从 Firebase 控制台设置的基本登录页面。因此,如果您有这样的链接链接 https://myapp.page.link/qr/?id=123456 您的查询参数将会丢失!

    但是,仍然可以了解用户单击并安装应用程序的深层链接路径。长话短说,它是utmParameters。该变量是一个 Bundle,带有几个附加功能,其中一个是 utm_campaign 键。其中包括您的深层链接名称。请看下面的代码:

    Firebase.dynamicLinks
            .getDynamicLink(intent)
            .addOnSuccessListener(activity) { pendingDynamicLinkData ->
                Log.v(
                    TAG, "pendingDynamicLinkData link : ${pendingDynamicLinkData?.link}" +
                            "pendingDynamicLinkData utmParameters : ${pendingDynamicLinkData?.utmParameters}"
                )
    
                pendingDynamicLinkData?.let {
                    // Check if it has your desired utm name
                    if(it.utmParameters.get("utm_campaign") == "Your Dynamic Link Name") {
                        //Do the job
                    }
                }
            }
            .addOnFailureListener(this) { e -> Log.v(TAG, "getDynamicLink:onFailure $e") }
    

    实施后,您可以为自己创建一个内部版本,并从 Play 商店测试下载流程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-28
      • 2021-08-25
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 2022-11-19
      相关资源
      最近更新 更多