GooglePlay区分推荐来源

本文介绍了如何在GooglePlay上区分应用的安装来源,详细阐述了两种集成Play Install Referrer的方法,包括使用InstallReferrerClient和BroadcastReceiver,以及相应的测试手段,帮助开发者追踪不同推广渠道的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        前言:很多时候我们将app在googleplay发布之后需要以广告的形式进行推广,这个时候我们可能会和多个渠道进行合作推广,那么不同渠道同时推广同一个app我们要如何对安装用户进行区分呢?这个时候我们就要用到Play Install Referrer了。

      1.集成

         要获取Referrer有两种方法,下面逐一介绍:

        第一种方法:

  1.  在app级别的build.gradle中加入如下远程依赖:

          compile 'com.android.installreferrer:installreferrer:1.0'

      2. 在想要获取Referrer的地方(有效期90天内随时获取)通过以下代码进行获取:

    InstallReferrerClient mReferrerClient = InstallReferrerClient.newBuilder(this).build();
    mReferrerClient.startConnection(new InstallReferrerStateListener() {
    @Override
    public void onInstallReferrerSetupFinished(int responseCode) {
        switch (responseCode) {
            case InstallReferrerClient.InstallReferrerResponse.OK:
                // Connection established 已建立连接
                ReferrerDetails response = null;
                try {
                    response = mReferrerClient.getInstallReferrer();
                    response.getInstallReferrer();
                    response.getReferrerClickTimestampSeconds();
                    response.getInstallBeginTimestampSeconds();
                    Log.v("ReferrerDemo",response.getInstallReferrer());
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
                break;
            case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                // API not available on the current Play Store app   已安装的Play Store应用程序不支持的Referrer API
                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.
    }
});

google官方链接(需要科学上网):

第二种方法:

      1.在app级别的build.gradle中加入如下远程依赖:

        compile 'com.google.android.gms:play-services-analytics:12.0.0'

       2.在项目中创建一个BroadcastReceiver继承CampaignTrackingReceiver并在Menifast中加入如下代码:

      <receiver android:name=".MyRefferReceiver"

        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" />

        3.在BroadcastReceiver中获取引荐来源信息(这种方法在从googleplay安装app后第一次打开app是会收到一条广播):

   @Override

    public void onReceive(final Context context, Intent intent) {

        super.onReceive(context, intent);

        String referrer = intent.getStringExtra("referrer");

         Log.v("ReferrerDemo", referrer);
}

2.测试:

注意:第一种集成方法可以直接测试获取引荐来源信息,默认获取的信息为:utm_source=google-play&utm_medium=organic

           第二种集成方法可以通过以下两种方法进行测试。

1.打开android studio在terminal中直接通过adb命令发送测试广播(第一种集成方法无法通过此方法测试):

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER --es referrer "utm_source=ReferrerDemo&anid=admob"

然后在BroadcastReceiver中会收到广播通过 intent.getStringExtra("referrer");可以获取到引荐来源信息。


 2.上传googleplay测试渠道并创建引荐来源链接,然后通过创建的引荐来源链接下载app

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值