Firebase Analytics 调试视图不显示任何内容
Posted
技术标签:
【中文标题】Firebase Analytics 调试视图不显示任何内容【英文标题】:Firebase Analytics Debug View does not show anything 【发布时间】:2017-08-03 19:11:51 【问题描述】:我使用 android Studio 将我的 Android 应用与 Firebase 相关联 它创建了我的 google-service.json 并将其设置到我的项目中。
当我在 logcat 中调试我的事件日志时,我得到了:
V/FA-SVC: Successful upload. Got network response. code, size: 204, 0
但在 firebase 控制台调试视图中没有显示任何内容
【问题讨论】:
您需要为您的应用启用它:adb shell setprop debug.firebase.analytics.app ***package_name***
我做到了。我还激活了提供我提到的行的附加日志记录。
你找到原因了吗?? 1. 启用 adb 调试 2. 在日志中也看到但在调试视图中没有看到
V/FA-SVC: Successful upload. Got network response. code, size: 204, 0
; Firebase 说我的应用在首次使用时已连接。但是还是看不到Debug Events;我在应用程序包上做了 adb shell setprop;也匹配 gmp_app_id: 1:8427#####:android:7dd######### 在 json 文件中。我在 Spark 计划中! @LokeshTiwari
对我也不起作用-按照文档做了所有事情。 DebugView 总是在左上角的选择器中显示“没有可用的设备”。
【参考方案1】:
测试设备设置
要在已连接的 Android 测试设备上为已配置的 Firebase Analytics 应用发送 DebugView 数据,您可以按照以下步骤操作:
如果您只是使用单个构建变体,则以下命令就足够了:
adb shell setprop debug.firebase.analytics.app [your_app_package_name]
但是,如果您正在使用具有不同应用程序 ID 且与应用程序包名称不同的多个构建变体,请务必执行以下命令:
adb shell setprop debug.firebase.analytics.app [your_application_id]
这里,应用程序 ID 是在相应 gradle 文件中找到的构建变体的应用程序 ID。例如,假设您有两个构建变体 x 和 y 的 x.gradle 和 y.gradle,并且您还有通用 build.gradle 文件。要使用应用程序 ID com.abc.x 调试构建变体 x,命令将是:
adb shell setprop debug.firebase.analytics.app com.abc.x
类似地,使用应用程序 ID com.abc.y 调试构建变体 y,命令将是:
adb shell setprop debug.firebase.analytics.app com.abc.y
此行为一直存在,直到您通过执行以下命令明确禁用它:
adb shell setprop debug.firebase.analytics.app .none.
【讨论】:
如果你有多个模拟器在运行,你必须使用adb -s SERIAL
(模拟器唯一ID的SERIAL)。如果连接了一台设备和一台模拟器,您可以使用快捷方式:adb -d ...
用于设备,adb -e ...
用于模拟器。
我已经安装了应用程序,并且模拟器处于调试模式,在 firebase 中查看数据需要任何其他先决条件吗?该应用程序是一个 React Native android 应用程序,对于 React Native ios 应用程序,所有数据都是从真实设备跟踪的。
它说在 firebase 控制台调试视图中没有附加设备。
如何添加另一个测试设备?另一台设备不在我身边。它与测试团队。他们没有安装 Android Studio。请帮忙。我能够看到从我的手机触发的调试事件。无法查看其他手机触发的事件【参考方案2】:
执行Enabling debug mode 中的步骤后,确保您的调试设备或模拟器和 PC 上的日期和时间正确。
如果更正日期和时间事件后仍未在 DebugView 上显示,请清除应用存储。然后重新启动应用并重试。
【讨论】:
绝对正确,确保手机/模拟器时间与 AndroidStudio 时间匹配。 清除应用程序存储是唯一对我有用的方法,谢谢!【参考方案3】:-
在调试模式下运行您的应用
转到开发者选项 -> 选择调试应用 -> 选择
您将在 Firebase DebugView
中看到您的设备【讨论】:
每次 Android Studio 进行完全重建时我们都必须这样做吗?鉴于应用程序被删除并重新安装 我认为这是正确的答案,因为它将确认完整的应用程序名称,包括您当前正在运行的变体 这有帮助。可惜官方文档中没有它。【参考方案4】:启用调试日志记录不同于启用调试模式。正如 Frank van Puffelen 在他的评论中建议的那样,要启用调试模式,您需要将“debug.firebase.analytics.app”属性设置为您的应用程序包名称。
您可以通过以下命令使用 adb 执行此操作:
adb shell setprop debug.firebase.analytics.app "your.app.package.name"
您可以在AndroidManifest.xml
中找到应用的包名称,作为manifest
元素(xml 文档中的第一个元素)上的package
属性。
【讨论】:
包名应该在 gradle 文件中定义;) 我将如何为 ios 做到这一点 你是在安卓设备/模拟器上执行adb命令,还是在开发机终端执行?如果是后者,它如何知道要影响哪个模拟器,或者它会影响所有模拟器? 回答我自己的问题,你在开发机器终端上输入它。但是,包名周围的引号是问题所在。它对我有用,没有引号。 还要确保你有正确的包名。我的调试包名称不同,因为我使用的是构建变体,因此 .dev 被添加到我的调试构建中【参考方案5】:还请确保您在设备/模拟器中安装了最新的 Google Play 服务,否则无法保证一切正常。
如果您转到模拟器上的设置,则有更新按钮。不幸的是,它要求您通过您的 Google 帐户登录。
【讨论】:
【参考方案6】:就我而言,即使运行 adb shell setprop debug.firebase.analytics.app "your.app.package.name"
也无济于事。当我绝望地试图找到一些东西时,我决定检查 Android Studio 的 firebase 插件是否有相关内容,并在分析部分下发现详细日志记录需要以下命令:
adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
我认为至少查看应用程序是否正在向服务器发送一些跟踪信息并运行这些命令可能会有所帮助。令我大吃一惊的是,它还帮助了 DebugView,然后我就可以看到我的设备了。
【讨论】:
谢谢。这适用于我的 Unity 2020.3.20f1 操作系统窗口。我还找到了关于这些命令的最佳视频youtube.com/watch?v=JDxXiarsrHk 谢谢。它有很大帮助!下次我在分析方面遇到问题时,我会检查一下。它应该写在文档中。【参考方案7】:正如其他人所提到的,我认为这里的问题通常是使用了错误的包名。我最近开始合作的一个应用程序遇到了这个问题,并且使用 AndroidManifest.xml 中的包属性不起作用。我怀疑构建是在包名上附加了一些东西,但找不到定义它的地方。我发现发现实际包名称的最简单方法是在 Android Studio 的顶部栏中启动“将调试器附加到 Android 进程”,然后在 AVD 上显示进程列表及其关联的包名称。果然,使用从此列表中正确附加的包名称确实会导致 Firebase Analytics 调试视图被唤醒。
【讨论】:
【参考方案8】:在您的调试设备中禁用任何广告拦截机制。这就是这里的问题。我启用了 AdAway。
我知道这个问题很老了,但它可能对某人有所帮助。
【讨论】:
【参考方案9】:对我来说,问题在于他们在文档中建议的 adb 命令中使用“包名称”。但是你必须使用的是你构建的 applicationId。尽管它们很多时候都相同,但如果您在 build.gradle
文件中指定另一个 appId 或为某些特定的构建变体添加后缀,它们可能会有所不同。
我不知道他们为什么总是使用“包名”这个词,因为它只是意味着the way we organize our code。
【讨论】:
【参考方案10】:我遇到了事件和设备未显示在 Firebase 调试视图中的问题。
发现我网络上的 pi-hole 正在吞噬所有事件。 因此,如果您的网络上有任何类型的广告拦截器,请将其禁用并重试。
【讨论】:
【参考方案11】:我正确配置了所有内容,并运行了一个模拟器和一个设备。模拟器事件出现了,但设备没有。 2 小时后,我发现DebugView
中有一个设备选择器,并且选择设备一直显示事件:
【讨论】:
【参考方案12】:阅读here 的评论后,我发现从终端运行以下命令很有帮助:
adb kill-server
adb start-server
adb shell setprop debug.firebase.analytics.app package_name
然后,我可以从 Firebase 调试设备列表中选择我的模拟器,并查看 Android Studio Bumblebee 中运行的应用程序中的 Firebase 事件 | 2021.1.1 测试版 1
【讨论】:
【参考方案13】:如果您使用的是 iOS 模拟器。试试这个:
Step1 : 在模拟器上“擦除所有内容和设置”并让模拟器重新启动
第 2 步:启动您的应用
第 3 步:关闭 firebase 调试选项卡并重新开始。
调试日志没有为我提供,这样做后我成功获取了日志。
注意:在过去几天中,上述事情至少发生了 7/8 次。
【讨论】:
【参考方案14】:先删除设备/模拟器上的应用!
从终端运行:
adb shell setprop debug.firebase.analytics.app [your_app_package_name]
然后在您的设备/模拟器上重建/调试应用程序。
最后,您的调试数据将显示在 Firebase > Analytics > DebugView 中
人们说过“删除内容和设置”和“清除应用程序存储”......等等,但我没有明白,并且花了几个小时试图让它工作。您需要做的就是从您的设备中删除该应用。除非清除所有应用数据,否则无法调试。
如果您正在寻找 your_app_package_name,它在您的 AndroidManifest.xml 文件中的 package 下。
【讨论】:
【参考方案15】:就我而言,我将之前的 google-services.json 文件替换为新文件。对于这种情况,我需要删除“build”文件夹,重建项目,在设备上运行调试是否也遵循其他步骤,例如 adb shell setprop debug.firebase.analytics.app "your.app.package.name"。然后就成功了。
【讨论】:
以上是关于Firebase Analytics 调试视图不显示任何内容的主要内容,如果未能解决你的问题,请参考以下文章
将 Firebase Analytics 与命名的 FirebaseApp 一起使用
为 iOS 调试版本禁用 Firebase Analytics
Firebase Analytics:事件参数未记录在 FB 控制台上