我已按照所有说明正确地在我的项目中集成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
显然事件没有发送。
我再次遵循了所有指示。
答案 0 :(得分:22)
事实证明Firebase库有一个Android Manifest文件,在其中定义了这些节点:
<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和AppMeasurementReceiver
这是分析工作所需要的,我的问题是我在Android Manifest中用<tools:node=”replace”>
替换了所有库节点,后者又忽略了所需的分析库节点。
删除<tools:node=”replace”>
并替换我的冲突专门解决了我的问题。
答案 1 :(得分:0)
以上接受的答案已经过时了。 AppMeasurementService
和AppMeasurementReciver
已被删除,并在清单中添加它将无用。
现在,他们支持Firebase分析并建议使用
implementation 'com.google.firebase:firebase-core:15.0.0'
答案 2 :(得分:0)
就我而言,我正在使用的库包括Firebase,但明确禁用了分析in their manifest。
因此,我必须在AndroidManifest.xml
中覆盖该设置,才能使用以下内容(仅在</application>
标记之前)进行分析:
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="false"
tools:replace="android:value"/>
答案 3 :(得分:0)
没有其他答案对我有用,因此我发布此消息是因为此问题非常烦人。
就我而言,问题是变相的版本不匹配。当我将清单中的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 -->
...
答案 4 :(得分:0)
确保将清单firebase_analytics_collection_enabled
上的mata数据设置为true
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="true" />