我正在使用appsflyer进行安装和卸载跟踪。我已经浏览了文件并将其集成了。我使用他们的Interation Test应用程序进行集成验证。
根据文档,如果我们已经在install_referrer上侦听接收器,则需要使用多个installBroadCastreceiver。我已经在使用
<receiver
android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
因此,根据我以下文档作为第一个接收器的文档(意味着它是在竞选trackingReceiver One之前编写的)
<receiver android:name="com.appsflyer.MultipleInstallBroadcastReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
但是他们的集成测试显示出错误。如果我使用SingleSinstallBroadCastreCeiver而不是多installBroadCastreCeiver,而不是集成测试应用程序显示成功集成。
在这种情况下,有人可以帮助我
基本上是单个stallbroadcastreceiver,当您拥有另一个接收器的接收器时,该接收器对其他相同意图过滤器的其他现有接收器的'支持'它对于可能在相同的意图过滤器上侦听的其他可能接收器)。这是因为单个stallbroadcastreceiver不那么。
另一方面,多个插图castreceiver被认为是其他相同滤器接收器的"支持"(不确定这是否是正确的术语),如果与另一个"支持性"接收者合并,可能会导致无限广播的广播接收器之间的意图。这就是为什么您拥有这两种接收器的原因。
但是,通过使用声明一个接收器来实现这一点(并对过程具有更多控制):
:实施您自己的广播员,并致电 OnReceive(上下文,意图)的任何接收器:
public class MyCombinedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Google Analytics receiver
new CampaignTrackingReceiver().onReceive(context, intent);
// AppsFlyer SingleInstallBroadcastReceiver
new SingleInstallBroadcastReceiver().onReceive(context, intent);
}
}
在您的androidmanifest.xml上声明您上面配置的接收器,请确保这是您在清单上使用该Intent-filter 的唯一一个接收器(如果您有其他接收器在您的接收器上方法):
<receiver
android:name="yourpackagename.MyCombinedReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>