I have gone through this link to implement Custom broadcast receiver for measuring campaign data(I used code from same broadcast receiver).
When I tried to use the test scenario from Google using following command in the command prompt, I see a log which says intent is broadcasted with extras. But My broadcast receiver doesn't get called.
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.mypackage/com.google.android.gms.analytics.CampaignTrackingReceiver --es "referrer" "utm_source=testsource"
My manifest code:
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService" />
<receiver
android:name="com.mypackage.CampaignBroadCastReceiver"
android:exported="true" >
<intent-filter android:priority="2147483647" >
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
My broadcast receiver class:
public class CampaignBroadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle b=intent.getExtras();
new CampaignTrackingReceiver().onReceive(context, intent);
}
}