如何检测引荐Android

14 android google-play-services

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

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

(如果affliate/refferal Id是通货膨胀)

2.当有人使用推荐链接下载我的应用程序时,他将重定向到Playstore.

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

是否有谷歌播放服务API检测哪个链接落在Playstore ???

实际上有应用程序这样做,但我不知道它是如何工作的...谢谢

Ano*_*p M 15

更新(2017年11月30日)

Google已推出Google Play商店的Install Referrer API,以安全地从Google Play检索推荐内容.我更愿意从此前进.


使用INSTALL_REFERRER广播进行Google Play广告系列测量

1)在google play中构建你的应用程序的URL

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

或使用

谷歌播放的URL建设者

在哪个referrer参数可能具有活动家的独特价值.

2)在你的app manifest.in中定义一个接收器,当你com.android.vending.INSTALL_REFERRER从谷歌播放安装app时,它将帮助你在应用中获得广播.

<receiver android:name="com.package.Tracker" android:exported="true">
   <intent-filter>
       <action android:name="com.android.vending.INSTALL_REFERRER" />
   </intent-filter>
</receiver> 
Run Code Online (Sandbox Code Playgroud)

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

获取活动家详细信息后,您可以将其提交给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"
Run Code Online (Sandbox Code Playgroud)

例如,如果您的包名是com.hello,而接收者的路径是com.ex.Tracker,那么test命令将是:

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER 
                       -n "com.hello/com.ex.Tracker"
                       --es referrer "tracking_id=123456789"
Run Code Online (Sandbox Code Playgroud)

有关工作的更多信息,或者您也可以查看第三方SDK,它也提供了UI,但它的成本...