问题标签 [firebase-performance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1209 浏览

android - java.lang.IllegalStateException:期望 .、< 或 ;,但在解包时发现 firebaseperf

在我的应用程序中集成性能 sdk 后,gradle 在构建项目时打印以下警告:

java.lang.IllegalStateException: 期待 .,<, 或 ;,但在解压时发现 firebaseperf ;BuilderType:Lcom/google/android/gms/internal/firebase-perf/zzam;>Ljava/lang/Object;Lcom/google/android /gms/internal/firebase-perf/zzdf;

虽然它没有使构建失败,但我不确定这意味着什么,因此在我确定它不会引起任何问题之前,我不想将它投入生产。

有人可以在这里帮忙吗?

0 投票
1 回答
110 浏览

firebase - 如何避免使用 Firebase 性能跟踪某些 401 网络响应?

我将 Firebase 性能添加到与 REST API 对话的 iOS 应用程序中。该 API 的身份验证机制通过返回带有状态码 401 的 HTTP 响应来触发应用程序中的身份验证令牌刷新。

我现在可以在 Firebase 控制台中看到所有这些 401 响应,这很棒。有没有办法禁止跟踪所有那些“需要刷新令牌”的 401 响应,以便在控制台中只能看到真正的“未经身份验证”响应(即使刷新令牌后响应以 401 失败)?

0 投票
1 回答
333 浏览

android - Firebase perf:修改应用开始时间度量

我最近在我的应用程序中集成了 Firebase perf sdk。

众所周知,它提供了一些开箱即用的自动跟踪,其中之一是应用程序冷启动时间。

因此,当第一个活动出现时,它会停止跟踪:

当应用的 FirebasePerfProvider ContentProvider 完成其 onCreate 方法时开始,并在第一个活动的 onResume() 方法被调用时停止。

在我的应用程序中,第一个活动是一种启动屏幕,我并不认为这是我的第一个活动,因为用户无法使用它做任何事情。它只是一个占位符,我在其中决定我必须启动的下一个主要活动是什么。

这就是为什么,我想修改这个启动时间度量,或者如果无法修改,创建我自己的自定义跟踪。

那么,如果可以自定义此度量,我该怎么做?

如果我必须创建自己的跟踪,我从哪里开始呢?在Application's onCreate?当然,我会在我的活动的 onResume 中停止它。

0 投票
2 回答
765 浏览

android - Proguard 的 Android FirebasePerformance 问题

我们在我们的项目中实施了 FirebasePerformance,何时无法构建项目。我在 Proguard 中遇到错误,这与在外部库(qrchart_obfuscation.jar)中有两个具有相同名称但不同情况(A.class 和 a.class)的类有关。我对proguard也不是很熟悉。

通过阅读来源,我希望在 proguard 中添加 -dontwarn 选项,但这将是我最后的手段,因为来源说“只有在你知道自己在做什么时才使用它”。

我仍然尝试添加-dontwarn qr.android.chart并将 Mapping.txt 与我以前没有 FirebasePerformance 的构建进行比较,我看到类(qr.android.chart)的差异不确定这个细节是否有帮助

感谢您对 FirebasePerformance 的 proguard 设置的帮助和建议。

我在构建已签名的 APK 期间看到了有关 Firebase 性能和 proguard 问题的链接,但情况不同 - Progaurd 中的 FirebasePerformance SDK 外部库问题

0 投票
0 回答
282 浏览

android - Firebase 性能控制台上每个 REST api 端点的完整详细信息

我已经在我的应用程序中集成了 firebase 性能监控,并且我还尝试获取每个 http 请求的详细信息并使用默认实现来检查它。

HttpClient:改造

但是一两天后,我可以在“网络”部分下看到一些数据,但这些数据未分类且基于主机。是否可以获得每个端点的完整详细信息?

0 投票
1 回答
1946 浏览

android - Android:如何以编程方式捕获应用程序的网络流量?

我目前正在开发一个支持 QA 或开发人员在他们的应用程序中调试网络流量的库,我们目前使用 OKHttp 并且我知道如何创建一个拦截器并将所有请求数据发送到该库。这样开发人员或 QA 可以查看此类数据(有效负载/URL/大小/响应代码/持续时间...等),但是我想创建一个更通用的解决方案来侦听 HTTP 流量甚至 TCP 流量,然后从那里获取,但是我找不到起点,我知道这是可能的,因为 Firebase Performance 正在这样做,但我仍然找不到 API 或无论如何都无法收听此类流量。

我希望 Google 的 Firebase 性能团队的某个人分享一些关于他们如何做到这一点的信息,如果这不是商业机密 :)

我遇到了这个解决方案:https ://github.com/cyruliu/Sensitive_API_Monitor/blob/master/app/src/main/java/com/android/reverse/apimonitor/NetWorkHook.java 但是它看起来有点糟糕,我希望能找到更好的方法。

0 投票
2 回答
2522 浏览

android - com.google.android.gms.internal.firebase-perf.zzw 上的 NoClassDefFoundError

从 Firebase Crashlytics 收到的崩溃报告数量。我认为这与 firebase-perf 有关。

已在使用最新版本的 Firebase 和 Google Play 服务。

它不会在 Firebase 测试实验室中的设备上崩溃。但是大约 1% 的用户面临这个问题。

是否与缺少 GMS Core 有关?如果是这样,如何正确处理它,而不导致这些设备崩溃?

- - 更新 - -

项目构建.gradle

应用程序构建.gradle

0 投票
1 回答
1377 浏览

android - CrashlyticsCore:无法调用方法:registerOnMeasurementEventListener

我已经安装了 android firebase 性能库,我可以在仪表板中看到应用程序速度等,但网络请求监控似乎不起作用。

我在 logcat 中收到此错误:

有任何想法吗?

谢谢!

0 投票
0 回答
235 浏览

android - android:firebase-perf:NullPointException

致命异常:java.lang.NullPointerException:尝试在 com 的空对象引用上调用虚拟方法 'boolean com.google.android.gms.internal.zzewh.zzb(com.google.android.gms.internal.zzewx)' .google.android.gms.internal.zzevz.zza(Unknown Source:154) at com.google.android.gms.internal.zzevz.zzb(Unknown Source:78) at com.google.android.gms.internal.zzevz .zza(Unknown Source) at com.google.android.gms.internal.zzewc.run(Unknown Source:6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent。 ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 在 java.lang.Thread.run(Thread.java:764)

0 投票
1 回答
104 浏览

android - 仅在请求成功时才进行 Firebase Trace 网络调用?

我正在尝试在 firebase 中发送网络跟踪,但我只想跟踪请求是否成功,如果用户网络不存在(移动数据/Wi-Fi),那么对于这种情况,我不希望对此请求进行任何跟踪.

有什么方法可以让我再次重新启动跟踪,并且只有在请求成功时才停止跟踪?

只需trace.start()再次调用它就可以工作吗?