安装引荐来源网址未在 android 网络市场上跟踪
Posted
技术标签:
【中文标题】安装引荐来源网址未在 android 网络市场上跟踪【英文标题】:Install referrer is not tracking on android web market 【发布时间】:2012-04-21 18:46:30 【问题描述】:通过手机上的电子市场应用安装应用时,应用将正确接收传递给它的推荐人信息(如下所述:http://code.google.com/mobile/analytics/docs/android/#android-market-tracking)。
但是,当通过基于网络的电子市场安装具有相同引荐来源的相同应用时,引荐来源信息会被丢弃,并且不会被应用接收。这使得从网络上针对您的应用程序的广告系列无法跟踪。
是否可以通过 android 网络市场跟踪安装引荐来源网址?
【问题讨论】:
【参考方案1】:不,无法从基于网络的 Google Play 商店跟踪安装引荐来源网址。这是a known issue with the latest SDK。
Google Play 广告系列跟踪目前不支持网络到设备 从网络 Play 商店启动的安装。
【讨论】:
文档链接和“已知问题”部分适用于旧版 v2。从以后的版本中,整个“已知问题”部分都丢失了。那么,该功能现在应该工作吗?对我来说,似乎没有,即原来的“没有通过网络市场推荐人”的问题仍然存在。【参考方案2】:这里可能有点晚了。幸运的是,这有助于我们跟踪来自网上商店的安装。
接收器类:
public class OwnReceiver extends BroadcastReceiver
public static final String ACTION_UPDATE_DATA = "ACTION_UPDATE_DATA";
private static final String ACTION_INSTALL_REFERRER = "com.android.vending.INSTALL_REFERRER";
private static final String KEY_REFERRER = "referrer";
public OwnReceiver()
@Override
public void onReceive(Context context, Intent intent)
if (intent == null)
Log.e("ReferrerReceiver", "Intent is null");
return;
if (!ACTION_INSTALL_REFERRER.equals(intent.getAction()))
Log.e("ReferrerReceiver", "Wrong action! Expected: " + ACTION_INSTALL_REFERRER + " but was: " + intent.getAction());
return;
Bundle extras = intent.getExtras();
if (intent.getExtras() == null)
Log.e("ReferrerReceiver", "No data in intent");
return;
MyApplication.setReferrerDate(context.getApplicationContext(), new Date().getTime());
//Contro.setReferrerData(context.getApplicationContext(), (String) extras.get(KEY_REFERRER));
MyApplication.setReferrerData(context.getApplicationContext(), (String) extras.get(KEY_REFERRER));
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(ACTION_UPDATE_DATA));
在 MainActivity 中的用法:
private final BroadcastReceiver mUpdateReceiver = new BroadcastReceiver()
@Override
public void onReceive(Context context, Intent intent)
someMethod(); //send received data to your method and use it your way
;
接收数据的方法:
private void someMethod()
String referrerDataRaw = MyApplication.getReferrerDataRaw(getApplicationContext());
if(referrerDataRaw.toLowerCase().contains(matchx.toLowerCase()))
Log.i("true",referrerDataRaw);
Toast.makeText(getBaseContext(),"Install referrer found",Toast.LENGTH_SHORT).show();
//postBack();
else
Log.i("false","no referrer found");
Toast.makeText(getBaseContext(),"no referrer found",Toast.LENGTH_SHORT).show();
奖励如果您要发送回发,则此奖励
public void postBack()
// String postTest = "https://play.google.com/store/apps/details?id=com.neon.myApp&referrer=utm_source=someOne&utm_medium=cpr&utm_term=testytest";
String referrerDataRaw = MyApplication.getReferrerDataRaw(getApplicationContext());
// Toast.makeText(this, "raw : " + postTest, Toast.LENGTH_SHORT).show();
String[] split = referrerDataRaw.split("=");
String end = split[split.length - 1];
Toast.makeText(this, AppConstant.lin + end, Toast.LENGTH_SHORT).show();
StringRequest strReq = new StringRequest(Request.Method.POST,
AppConstant.lin + end, new Response.Listener<String>()
@Override
public void onResponse(String response)
Toast.makeText(getBaseContext(),"postback sent",Toast.LENGTH_SHORT).show();
, new Response.ErrorListener()
@Override
public void onErrorResponse(VolleyError error)
);
// Adding request to request queue
MyApplication.getInstance().addToRequestQueue(strReq, tag_string_req);
在 github https://github.com/SimonMarquis/Android-InstallReferrer 上得到了这个善良灵魂的大部分帮助
【讨论】:
请注意,此方法将于 2020 年 3 月 1 日停止工作。对于新代码,请改用 developer.android.com/google/play/installreferrer/library.html。以上是关于安装引荐来源网址未在 android 网络市场上跟踪的主要内容,如果未能解决你的问题,请参考以下文章
Android Google Play Intent 引荐来源网址
启动应用程序(如果已安装),或使用安装引荐来源网址打开 Google Play
如何使用从 Google Play 安装的 Google Analytics 跟踪引荐来源网址?