Reputation: 8396
I have followed all the instructions for integrating Firebase analytics correctly in my project. But when I enable debug logging to make sure the events are being sent (using instructions from here) I see
E/FA ( 3556): AppMeasurementReceiver not registered/enabled
E/FA ( 3556): AppMeasurementService not registered/enabled
E/FA ( 3556): Uploading is not possible. App measurement disabled
and obviously the events are not being sent.
Again I have followed all the instructions .
Upvotes: 24
Views: 23195
Reputation: 422
Make sure you set mata data at the manifest firebase_analytics_collection_enabled
to be true
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="true" />
Upvotes: 18
Reputation: 1
None of the other answers worked for me so I'm posting this because this issue was awfully annoying.
In my case, the problem was a disguised version mismatch. It went away when I updated the android:versionName
in my manifest to the newest release build's version.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.your.package"
android:versionCode="100"
android:versionName="4.0.0"> <!-- Update this -->
...
Upvotes: 0
Reputation: 11756
In my case, a library I was using was including Firebase but explictly disabling analytics in their manifest.
So I had to override that setting in my AndroidManifest.xml
to enable analytics with the following (just before the </application>
tag):
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="false"
tools:replace="android:value"/>
Upvotes: 2
Reputation: 379
The above accepted answer got outdated. AppMeasurementService
and AppMeasurementReciver
is deprectaed and adding it in manifest wont be useful.
Now they support Firebase analytics and recommend to use
implementation 'com.google.firebase:firebase-core:15.0.0'
Upvotes: 1
Reputation: 8396
It turns out that Firebase Library has an Android Manifest file in which it defines these nodes:
<service android:name="com.google.android.gms.measurement.AppMeasurementService"
android:enabled="true"
android:exported="false"/>
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
android:enabled="true">
<intent-filter>
<action android:name="com.google.android.gms.measurement.UPLOAD" />
</intent-filter>
</receiver>
based on AppMeasurementService and AppMeasurementReceiver
which are needed for analytics to work and my problem was that I was replacing all the library nodes with <tools:node=”replace”>
in my Android Manifest which in turn ignored the needed nodes for analytics lib.
Removing <tools:node=”replace”>
and replacing my conflicts specifically solved my problem.
Upvotes: 35