通过手机上的市场应用程序安装应用程序时,该应用程序将正确接收传递给它的推荐人信息(如此处所述:http ://code.google.com/mobile/analytics/docs/android/#android-market -跟踪)。
但是,当通过基于 Web 的市场安装具有相同推荐人的相同应用程序时,推荐人信息将被删除并且应用程序不会接收到。这使得从网络上针对您的应用程序的广告系列无法跟踪。
是否可以通过 android 网络市场跟踪安装引荐来源网址?
通过手机上的市场应用程序安装应用程序时,该应用程序将正确接收传递给它的推荐人信息(如此处所述:http ://code.google.com/mobile/analytics/docs/android/#android-market -跟踪)。
但是,当通过基于 Web 的市场安装具有相同推荐人的相同应用程序时,推荐人信息将被删除并且应用程序不会接收到。这使得从网络上针对您的应用程序的广告系列无法跟踪。
是否可以通过 android 网络市场跟踪安装引荐来源网址?
不可以,无法从基于网络的 Google Play 商店跟踪安装引荐来源网址。这是最新 SDK 的一个已知问题。
Google Play 广告活动跟踪目前不支持从网络 Play 商店启动的网络到设备安装。
这里可能有点晚了。幸运的是,这有助于我们跟踪来自网络商店的安装。
接收器类:
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
}
};
someMethod 你接收数据的地方:
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上得到了这种灵魂的大部分帮助