Firebase 分析事件未显示在 Firebase 控制台上
Firebase analytics event not show up on firebase console
我在我的应用程序中实现了 firebase analytics
,但没有显示任何事件或登录 fire base 控制台。
在 onCreateView()
方法的每个片段中添加以下代码。
private void addFragmentInFirebaseAnalytics() {
FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(getContext());
FragmentItem fragmentItem = new FragmentItem();
fragmentItem.setFragmentId(Constant.FM_ID_MOIST_AIR);
fragmentItem.setFragmentName(MoistAirActivity.class.getSimpleName());
Bundle bundle = new Bundle();
bundle.putInt(FirebaseAnalytics.Param.ITEM_ID, fragmentItem.getFragmentId());
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, fragmentItem.getFragmentName());
//Logs an app event.
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
Log.d(TAG,"bundle >>"+bundle);
}
使用的依赖是:
compile 'com.google.firebase:firebase-core:9.4.0'
使用的插件:
apply plugin: 'com.google.gms.google-services'
它工作正常并在调试控制台中显示这样的日志,
09-14 12:30:42.967 D/FA ( 8821): Logging event (FE): select_content, Bundle
[{_o=app, _ev=item_id, item_name=MoistAirActivity, content_type=Navigation Menu,
_err=4}]
09-14 12:30:42.977 V/FA ( 8821): Using measurement service
09-14 12:30:42.977 V/FA ( 8821): Connecting to remote service
09-14 12:30:43.217 D/FA ( 8821): Connected to remote service
09-14 12:30:43.217 V/FA ( 8821): Processing queued up service tasks: 1
09-14 12:30:43.217 E/FA ( 8821): Task exception on worker thread: java.lang
.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist. : com.goo
gle.android.gms.measurement.internal.zzt.zzEd(Unknown Source)
09-14 12:30:48.217 V/FA ( 8821): Inactivity, disconnecting from AppMeasurem
entService
但 24 小时后在调试控制台和 firebase 控制台中未显示任何上传消息,
那么,这里有什么问题吗?请帮助。
这里可能会发生一些事情。如果 运行:
,您将看到更多诊断消息
adb shell setprop log.tag.FA VERBOSE
如果您的测试设备安装了 Google Play 服务,还 运行:
adb shell setprop log.tag.FA-SVC VERBOSE
这些命令将在您的 logcat 中显示更多信息。应用程序启动时是否有来自 FA 或 FA-SVC 的错误?
最后我通过替换 tools:node="replace" to tools:node="merge"
并在清单文件中添加 tools:replace="android:label"
解决了这个问题。
参考:
对我来说这很有效:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
在 AndroidManifest.xml.
我没有指定任何工具属性。
我在我的应用程序中实现了 firebase analytics
,但没有显示任何事件或登录 fire base 控制台。
在 onCreateView()
方法的每个片段中添加以下代码。
private void addFragmentInFirebaseAnalytics() {
FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(getContext());
FragmentItem fragmentItem = new FragmentItem();
fragmentItem.setFragmentId(Constant.FM_ID_MOIST_AIR);
fragmentItem.setFragmentName(MoistAirActivity.class.getSimpleName());
Bundle bundle = new Bundle();
bundle.putInt(FirebaseAnalytics.Param.ITEM_ID, fragmentItem.getFragmentId());
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, fragmentItem.getFragmentName());
//Logs an app event.
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
Log.d(TAG,"bundle >>"+bundle);
}
使用的依赖是:
compile 'com.google.firebase:firebase-core:9.4.0'
使用的插件:
apply plugin: 'com.google.gms.google-services'
它工作正常并在调试控制台中显示这样的日志,
09-14 12:30:42.967 D/FA ( 8821): Logging event (FE): select_content, Bundle
[{_o=app, _ev=item_id, item_name=MoistAirActivity, content_type=Navigation Menu,
_err=4}]
09-14 12:30:42.977 V/FA ( 8821): Using measurement service
09-14 12:30:42.977 V/FA ( 8821): Connecting to remote service
09-14 12:30:43.217 D/FA ( 8821): Connected to remote service
09-14 12:30:43.217 V/FA ( 8821): Processing queued up service tasks: 1
09-14 12:30:43.217 E/FA ( 8821): Task exception on worker thread: java.lang
.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist. : com.goo
gle.android.gms.measurement.internal.zzt.zzEd(Unknown Source)
09-14 12:30:48.217 V/FA ( 8821): Inactivity, disconnecting from AppMeasurem
entService
但 24 小时后在调试控制台和 firebase 控制台中未显示任何上传消息,
那么,这里有什么问题吗?请帮助。
这里可能会发生一些事情。如果 运行:
,您将看到更多诊断消息adb shell setprop log.tag.FA VERBOSE
如果您的测试设备安装了 Google Play 服务,还 运行:
adb shell setprop log.tag.FA-SVC VERBOSE
这些命令将在您的 logcat 中显示更多信息。应用程序启动时是否有来自 FA 或 FA-SVC 的错误?
最后我通过替换 tools:node="replace" to tools:node="merge"
并在清单文件中添加 tools:replace="android:label"
解决了这个问题。
参考:
对我来说这很有效:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
在 AndroidManifest.xml.
我没有指定任何工具属性。