如何检测 Android 中的推荐来源?

15

我正在尝试找出一种方法来检测通过推荐下载的应用程序。首先,我不想使用用户输入的任何推荐代码。这是我实际需要的:

1.这是我的推荐链接 http://affiliate.flipkart.com/install-app?affid=Inflation

(其中推广/推荐ID为Inflation)

2.现在当有人使用推荐链接下载我的应用时,他将被重定向到Play商店。

3.成功安装后如何在应用程序中检测推荐ID????(不需要使用用户交互)

是否有任何Google Play服务API可以检测哪个链接跳转到了Play商店???

实际上有一个应用程序可以做到这一点,但我不知道它是如何工作的......谢谢

2个回答

16

更新(2017年11月30日)

谷歌已经推出了Google Play商店的安装引荐API,以安全地从Google Play检索引荐内容。我以后更喜欢选择它。


使用INSTALL_REFERRER广播来进行Google Play Campaign测量
1)在Google Play中建立您的应用程序的URL,类似于以下内容

https://play.google.com/store/apps/details?id=com.hello&referrer=tracking_id%3D123456789

或者使用

google-play-url-builder

其中referrer参数可能具有广告活动的唯一值。

2)在您的应用程序清单中定义一个接收器,其中com.android.vending.INSTALL_REFERRER将帮助您在应用程序从Google Play安装时获取广播。

<receiver android:name="com.package.Tracker" android:exported="true">
   <intent-filter>
       <action android:name="com.android.vending.INSTALL_REFERRER" />
   </intent-filter>
</receiver> 

3) 广播接收器

    public class Tracker extends BroadcastReceiver {

          private String referrer = "";

    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
            Bundle extras = intent.getExtras();
            if (extras != null) {
                referrer = extras.getString("referrer");
            }
            Log.i("REFERRER", "Referer is: " + referrer);
        }
    }
}

获取营销人员详细信息后,您可以将其提交到Google Analytics中进行营销活动测量
您可以在终端中运行此命令来测试应用程序配置:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER 
                       -n your.package.name/path.to.receiver --es referrer
                       --es referrer "EXTRA_STRING_VALUE"

例如,如果您的包名是com.hello,接收器路径是com.ex.Tracker,测试命令将为:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER 
                       -n "com.hello/com.ex.Tracker"
                       --es referrer "tracking_id=123456789"

关于工作的更多信息,或者您也可以查看第三方SDK,它也提供UI,但需要付费。


我不知道flipcart的技术,这是谷歌官方推荐的方式。 - Anoop M Maddasseri
@AnoopM 先生.... 它是否也适用于已安装的应用程序? 求救... 我卡在这个问题上了...谢谢 - Ravindra Kushwaha
我必须在我的应用程序中添加广告系列吗? - Milan Gajera
你知道如何在不上传到Google Play的情况下测试使用安装引荐库的新方法吗? - Igori S
用户为什么不立即从Google Play商店打开应用程序,而是在一段时间后从应用列表中打开呢? - piyush poriya

1
最近,Google发布了Google Play安装来源API,以简化推荐获取过程并使其更加可靠。
基本上,现在您需要 1) 链接库:
dependencies {
      ...
      compile 'com.android.installreferrer:installreferrer:1.0'
}

2) 建立与Google Play的连接:

InstallReferrerClient mReferrerClient
...
mReferrerClient = newBuilder(this).build();
mReferrerClient.startConnection(this);

获取引荐者:

3)获取引荐者:

ReferrerDetails response = mReferrerClient.getInstallReferrer();

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


1
什么是newBuilder? - Yessine Mahdouani
2
啊,这是从InstallReferrerClient中的方法:InstallReferrerClient.newBuilder。 - Yessine Mahdouani
如果可以的话,您能否提供此库的示例共享链接。 - Teraiya Mayur
安装Referrer API将返回在打开Google Play时提供给“referrer”参数的任何内容。它可以是URL,也可以是任何类型的referrer id。 - zasadnyy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接