Kayvan N
Kayvan N

Reputation: 8396

Firebase analytics AppMeasurement not enabled

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

Answers (5)

ilham suaib
ilham suaib

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

Chris Pavlopoulos
Chris Pavlopoulos

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

Sean Barbeau
Sean Barbeau

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

Kanishk Gupta
Kanishk Gupta

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

Kayvan N
Kayvan N

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

Related Questions