CampaignTrackingReceiver n'est pas enregistré - Google Analytics v4
Je suis en utilisant Google analytics v4 dans mon application android. Le suivi d'installation fonctionnait bien depuis quelques jours et tout d'un coup mon récepteur de radiodiffusion n'est pas enregistré.
Logcat dit : CampaignTrackingReceiver n'est pas enregistré, pas exporté ou est désactivé. L'Installation de la campagne de suivi n'est pas possible. Voir http://goo.gl/8Rd3yj pour les instructions.
C'est ce que j'ai fait dans mon Manifeste de l'application de la balise:
<service android:name="com.google.android.gms.analytics.CampaignTrackingService"
android:enabled="true"
android:exported="false" />
<receiver
android:name="my.package.CustomCampaignTrackingReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Et mes personnalisé suivi de campagne récepteur ressemble à ceci:
public class CustomCampaignTrackingReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//When you're done, pass the intent to the Google Analytics receiver.
new CampaignTrackingReceiver().onReceive(context, intent);
Log.v("ReferralReceiver", " " + intent.getAction());
Log.v("ReferralReceiver", " " + intent.getDataString());
Log.v("ReferralReceiver", " " + intent.toString());
Log.v("ReferralReceiver", " " + intent.getStringExtra("referrer"));
//call to other referrers
}
}
Je ne suis pas en mesure de comprendre où en sont les choses sortir de la main. Je suis en utilisant un seul INSTALL_REFERRER filtre dans mon manifeste.
- Pourquoi ne pas simplement enregistrer les deux récepteurs (personnalisé de votre récepteur et le Google fourni un)? La création d'une nouvelle instance d'un
BroadcastReceiver
n'est pas quelque chose que vous devriez faire. - Tout ce que j'ai fait est suivie de google à ce sujet: developers.google.com/analytics/solutions/... (faites défiler vers le bas ci-dessous, il est un exemple).
- Et d'ailleurs, "Il ne peut être qu'un BroadcastReceiver pour une action". N'est-ce pas? @ianhanniballake
- Avez-vous réussi à résoudre le problème? Je rencontre aussi bien
- semble cette solution fonctionne
- Je reçois le même message d'erreur. J'ai essayé pendant plusieurs mois à la résolution de ce problème, mais avec pas de chance. J'ai lu les instructions plusieurs fois....
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous n'avez pas mis en œuvre AnalyticsService et AnalyticsReceiver? C'est ce que j'ai fait pour le faire fonctionner
J'étais confus par toutes les réponses. Mais a appris ce que c'était par le débogage et l'exploitation forestière.
De coeur: Cet avertissement est fait au démarrage de google analytics. Il vient de vous avertit que vous n'avez pas enregistré CampaignTrackingReceiver dans votre manifeste. Mais c'est bien! Depuis que vous avez votre propre récepteur.
Tester la qualité de votre récepteur en faisant quelque chose comme cela, alors que le débogage de votre application:
Pour vérifier si ses vraiment de travail, vous pouvez consulter les journaux de google analytics:
Ce que j'ai vu est le suivant:
Alors qu'il se plaint toujours. Il le fait encore.
Vous pouvez ignorer l'avertissement et n'avez pas besoin d'ajouter AnalyticsReceiver et AnalyticsService si vous ne cible que les play-service des appareils compatibles. Vérifier https://developers.google.com/analytics/devguides/collection/android/v4/dispatch#manual pour plus de détails.
C'est parce que vous êtes en utilisant une mesure de suivi des campagnes récepteur comme indiqué dans votre fichier de manifeste. toutefois, vous ne vous êtes redirigé vers la CampaignTrackingReceiver en appelant
nouveau CampaignTrackingReceiver().onReceive(context, intent);
sur votre onReceive.
Vous pourriez aussi avoir besoin d'envoyer() les données de campagne
mTracker.envoyer(nouveau HitBuilders.ScreenViewBuilder()
.setCampaignParamsFromUrl(campaignData)
.build()
);
Aussi longtemps que nous ajoutons
et de récupérer les analytics exemple pour définir un tracker comme:
nous avons seulement besoin de définir la CampaignTrackingReceiver dans le manifeste:
La CampaignTrackingService est obsolète et ne doit pas être utilisé.
Enfin, vous pouvez essayez de tester votre option pour envoyer un message de diffusion à partir de la bad, comme il est suggéré dans la développeur android doc - si vous voyez un coup d'événement dans les journaux, il devrait être également visible dans l'analytique web après quelques minutes.