拦截INSTALL_REFERRER,然后转发到Google AnalyticsReceiver

时间:2011-02-13 12:11:42

标签: android google-analytics install broadcastreceiver

我已经编写了一个安装接收器来确定何时通过Market安装了应用程序。但是,如果安装在应用程序中,我还想将INSTALL_REFERRER广播传递到其他接收方,例如Google Analytics AnalyticsReceiver。重要的是,我不知道是否安装了其他接收器,因为我的接收器将被其应用程序中的其他开发人员使用。

目前,我收到广播,完成后我致电:

AnalyticsReceiver receiver = new AnalyticsReceiver();

receiver.onReceive(context, intent);

问题是AnalyticsReceiver课程可能不存在。

如果我不确定该应用是否使用了AnalyticsReceiver,那么如何传播广播?

或者Android本身会确保安装的每个接收器都能获得广播吗?

非常感谢!

2 个答案:

答案 0 :(得分:5)

这并没有真正回答这个问题,但INSTALL_REFERRER唯一预定的目标是Google Analytics库,因此对广播中包含的数据(或任何有关广播的广告)没有任何保证。事情),所以你不应该依赖它。

另一方面,这里有一些相关的S.O.问题:

答案 1 :(得分:2)

罗曼的回答并不完全正确。他们没有逐步说明,但谷歌自己建议您使用自己的广播接收器。我认为他们最近添加了这个模糊,但不确定何时。当我回答他提到的一个问题时,我很肯定它不存在。

From their guide

  

注意:每个只能指定一个BroadcastReceiver类   应用。您是否需要合并两个或更多   来自不同SDK的BroadcastReceivers,您将需要创建您的   拥有接收所有广播和呼叫的BroadcastReceiver类   适用于每种广播类型的BroadcastReceivers。

这似乎也回答了你是否可以盲目重播的问题,至少谷歌是这样的。