【问题标题】:How to get Google Play referer in an Android application如何在 Android 应用程序中获取 Google Play 引用
【发布时间】:2017-10-09 07:06:09
【问题描述】:

我们正在开发一个 Android 应用程序。我们想跟踪我们的竞争。基本上,我们想知道我们的用户从哪里到达 Google Play,方法是与我们的合作伙伴一起在 Google Play URL 中输入一个词,然后在应用程序中检索该词,然后将其发送到我们的服务器。

我们已经在我们的应用程序中安装了 Google Analytics,我们能够在 Google 统计板上跟踪用户在应用程序中所做的事情。但是我们如何使用它来实现我们真正想要的呢?我们确实需要将我们的用户数据库与那个词联系起来。

听说过 INSTALL_REFERER,但我真的不知道怎么用。

【问题讨论】:

    标签: android google-play-services referer


    【解决方案1】:

    您正在寻找Campaign Measurement。在文档中,它讨论了使用 INSTALL_REFERRER 将如何帮助您确定哪个来源将用户发送到您在 Google Play 商店中的应用程序。

    只需在您的 AndroidManifest 中放置 receiver 并修改您应用的 Google Play 网址即可。

    来自文档:

    Google Play Campaign Attribution

    Google Play 广告活动衡量功能可让您查看哪些广告活动和流量来源让用户从 Google Play 商店下载您的应用。建议所有开发者实施 Google Play 商店广告活动衡量。

    实施 Google Play 广告系列归因

    从 Google Play 商店下载您的应用后,Play 商店应用会在安装期间向您的应用广播 INSTALL_REFERRER Intent。此意图包含用于访问您应用的 Google Play 商店页面的链接的 referrer 参数的值(如果存在)。

    要将应用下载归因于广告系列,您必须将referrer 参数添加到指向Google Play 商店的任何链接,并在您的应用中添加BroadcastReceiver 以接收和设置intent 中包含的广告系列信息在您的 Google Analytics(分析)跟踪器上。

    建议大部分开发者使用 SDK 提供的BroadcastReceiver。要使用随附的接收器实施 Google Play 商店广告系列测量:

    1.将 Google Analytics 接收器添加到您的 AndroidManifest.xml 文件中。 要将 Google Analytics 接收器添加到清单中,请复制并粘贴以下标记:

        <application>
        <!-- Used for Google Play Store Campaign Measurement-->
        <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>
        <service android:name="com.google.android.gms.analytics.CampaignTrackingService"
            android:enabled="true"
            android:exported="false" />
    </application>
    
    1. 将 Google Analytics 广告系列参数添加到 Google Play 网址

      接下来,将referrer 参数添加到将直接链接到 Google Play 商店的所有 URL 中,并将该参数的值设置为描述来源的 Google Analytics(分析)广告系列参数字符串,如下例所示:

      https://play.google.com/store/apps/details?id=com.example.application &referrer=utm_source%3Dgoogle %26utm_medium%3Dcpc %26utm_term%3Drunning%252B鞋 %26utm_content%3Dlogolink %26utm_campaign%3Dspring_sale

    要了解如何构建活动参数字符串,请使用Google Play URL Builder,或查阅Campaign Parameters 参考部分。

    测试 Google Play 广告活动归因

    要在发布应用之前验证您的 Google Play 广告活动衡量实施是否按预期工作,请使用Testing Google Play Campaign Attribution Solution Guide

    另外,请参阅similar post

    【讨论】:

    • 感谢您的回答。但 CampaignTrackingService 已被弃用 (developers.google.com/android/reference/com/google/android/gms/…)。你应该只使用&lt;!-- Used for Google Play Store Campaign Measurement--&gt; &lt;receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:enabled="true" android:exported="true"&gt; &lt;intent-filter&gt; &lt;action android:name="com.android.vending.INSTALL_REFERRER" /&gt; &lt;/intent-filter&gt; &lt;/receiver&gt;
    • @AlexMisiulia 感谢您通知我。当我有时间研究新答案时,我会更新我的答案 - 或者如果您有样本,请随时自行更新。干杯!
    【解决方案2】:

    尝试 Play 安装引荐来源库

    这是一种新的、易于使用且可靠的安全检索安装推荐内容的方法

    https://android-developers.googleblog.com/2017/11/google-play-referrer-api-track-and.html

    此外,切换到新的引荐来源 API 可以更深入地了解用户转化漏斗,保护 Google Play 商店引荐来源网址,最后(也是最重要的)提供的额外数据可以彻底消除点击注入

    (来源:https://www.adjust.com/blog/eliminating-click-injections-with-google-play-referrer-api/

    例子:

    final InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(YourActivity.this).build();
    referrerClient.startConnection(new InstallReferrerStateListener() {
    
            @Override
            public void onInstallReferrerSetupFinished(int responseCode) {
                switch (responseCode) {
                    case InstallReferrerClient.InstallReferrerResponse.OK:
    
                        try {
                            ReferrerDetails response = referrerClient.getInstallReferrer();
                            String installReferrer = response.getInstallReferrer();
    
                            // handle referrer string
    
                        } catch (RemoteException e) {
                            e.printStackTrace();
                        }
                        break;
    
                    case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                        // API not available on the current Play Store app
                        break;
                    case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                        // Connection could not be established
                        break;
                }
            }
    
            @Override
            public void onInstallReferrerServiceDisconnected() {
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
            }
    });
    

    将以下行添加到您应用的 build.gradle 文件的依赖项部分:

    dependencies {
        ...
        compile 'com.android.installreferrer:installreferrer:1.0'
    }
    

    【讨论】:

    • 你能解释一下在开发过程中如何测试这个吗?
    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2011-03-22
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多