Google Play作为Android最大的应用市场,也存在这推广等常用的行为,那么如何统计呢,Google Analytics SDK或者其他的SDK都提供了方法,实际上是可以不需要任何sdk,完全可以自己实现的。
原理是这样的:当来自Play Store上的应用被安装之后,Play Store会发送一个指定的广播给被安装的包,广播的action为com.android.vending.INSTALL_REFERRER。内容数据类似于 utm_source%3Dgoooooogggggggggggggle%26utm_medium%3Dcpc%26utm_term%3Dandroid%252Bbrowser%26utm_content%3Dmaxthon%2520browser%2520for%2520android%26utm_campaign%3DYou%2520never%2520know%2520fast. 我们只需要接收这个广播处理即可。
首先在manifest中增加receiver来接收
<receiver android:name=".AnalyticsReceiver" android:exported="true" > <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
这里的AnalyticsReceiver是专门接收推广广播的。
代码很简单
package com.example.installreceiverdemo; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class AnalyticsReceiver extends BroadcastReceiver { private static final String LOGTAG = AnalyticsReceiver.class.getSimpleName(); @Override public void onReceive(Context context, Intent intent) { Log.i(LOGTAG + "_demo", "analyticsReceiver = " + intent + "data in String = " + intent.getStringExtra("referrer")); } }
这样基本上就完成了,关于简单测试,可以使用下列代码:
Intent it = new Intent("com.android.vending.INSTALL_REFERRER"); it.setPackage("com.example.installreceiverdemo"); it.putExtra("referrer", "utm_source%3Dgoooooogggggggggggggle%26utm_medium%3Dcpc%26utm_term%3Dandroid%252Bbrowser%26utm_content%3Dmaxthon%2520browser%2520for%2520android%26utm_campaign%3DYou%2520never%2520know%2520fast."); sendBroadcast(it);
相关文章推荐参考:
https://developers.google.com/analytics/devguides/collection/android/v2/campaigns
http://www.localytics.com/docs/android-market-campaign-analytics/
http://gyurigrell.com/2012/2/21/tracking-install-sources-android-apps