Firebase 分析 AppMeasurement 未启用

Firebase analytics AppMeasurement not enabled

我已按照所有说明将 Firebase 分析正确集成到我的项目中。但是,当我启用调试日志记录以确保正在发送事件时(使用 here 中的说明),我看到

E/FA      ( 3556): AppMeasurementReceiver not registered/enabled
E/FA      ( 3556): AppMeasurementService not registered/enabled
E/FA      ( 3556): Uploading is not possible. App measurement disabled

显然事件没有被发送。

我再次遵循了所有说明。

事实证明,Firebase 库有一个 Android 清单文件,它在其中定义了这些节点:

 <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>

基于AppMeasurementService and AppMeasurementReceiver

这是分析工作所必需的,我的问题是我在我的 Android 清单中用 <tools:node=”replace”> 替换了所有库节点,这反过来又忽略了分析库所需的节点。

删除 <tools:node=”replace”> 并替换我的冲突特别解决了我的问题。

上面接受的答案已经过时了。 AppMeasurementServiceAppMeasurementReciver 已弃用,将其添加到清单中将无用。

现在他们支持 Firebase 分析并推荐使用

implementation 'com.google.firebase:firebase-core:15.0.0'

就我而言,我使用的库包括 Firebase 但明确禁用分析 in their manifest

所以我不得不在我的 AndroidManifest.xml 中覆盖该设置以启用以下分析(就在 </application> 标记之前):

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="false"
                   tools:replace="android:value"/>

None 其他答案对我有用所以我发布这个是因为这个问题非常烦人。

就我而言,问题是伪装的版本不匹配。当我将清单中的 android:versionName 更新为最新发布版本时,它消失了。

<?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 -->

...

确保将清单 firebase_analytics_collection_enabled 中的 mata 数据设置为 true

<meta-data
     android:name="firebase_analytics_collection_enabled"
     android:value="true" />