我正在尝试注册一个广播接收器,它捕获Android从市场安装应用程序后启动的"com.android.vending.INSTALL_REFERRER"意图.
我在此处详细了解:http://code.google.com/mobile/analytics/docs/android/#referrals
但是,我无法使用Google Analytics,因此我创建了自己的解决方案.我在清单文件中添加了以下内容:
<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
并创建了一个基本的BroadcastReceiver类:
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
Log.w("TEST", "Referrer is: " + referrerString);
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当安装应用程序时,接收器似乎没有捕获Intent(如果Intent甚至广播?)并且我没有记录输出.
我在某个地方出错了还是市场在安装应用程序时不再启动这些Intent?
我们计划使用Google Analytics跟踪广告点击推介,通过Android电子市场推广到我们的应用程序.
根据Google文档,引荐来源代码是通过意图实现的,并由Google Analytics资源库自动记录.
这很好,但我们需要为我们自己的内部分析提取引用标记.该文档很少关于如何从初始启动意图中获取它的详细信息,以及有关如何在上线之前模拟它的说明.
有任何人对此有经验吗?
我为Android Market INSTALL_REFERRER Intent实现了BroadcastReceiver,如下所述:
它适用于早于3.0的Android设备,但似乎永远不会在Honeycomb设备上启动.我在安装期间和应用程序第一次启动后检查了logcat输出,我没有看到任何调试输出导致我认为BroadcastReceiver没有运行(我确实看到了预蜂窝的输出)版本).
任何人都可以确认这个问题吗?
知道如何让它工作吗?