禁用 Firebase 自动屏幕报告

37

有没有办法禁用 Firebase 分析的自动屏幕报告?

我有一些 UIViewCOntroller,我不想被报告。

因此,我想自己管理屏幕报告。

FirebaseAutomaticScreenReportingEnabled 设置为 NO 没有起作用。

谢谢

9个回答

31

对于2018年,您的Info.plist将有以下条目:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key>
<string>NO</string>
<key>FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED</key>
<string>YES</string>
<key>FirebaseScreenReportingEnabled</key>
<false/>
  1. 重要提示:惊人的是,这在 >>> YOUR <<< Info.plist 文件中。这不是谷歌添加的那个奇怪的 plist 文件!

有两个 plist 文件!!!

  1. 在此答案中,我展示了所需的确切、新语法-适用于2018年后期。

  2. 将您的 plist 文件作为“源”进行编辑。粘贴以上内容。 如果您尝试使用Xcode中方便的“值输入”界面,则无法正常工作。

最终,您将看到这个...

enter image description here

2019年...

不幸的是,此操作的详细信息似乎会不时更改。

因此,无法确定此精确过程在所有情况和所有变化中仍然有效。祝你好运!


2
请注意,它说的是 info.plist。正如 @JeffRegan 在上面所说的那样:“我花了太长时间尝试让它工作。将 FirebaseScreenReportingEnabled 添加到您的项目的 Info.plist 中。将其添加到 GoogleService-Info.plist 中不起作用”。好吧...把我也加入到那个列表中 :) - pbodsk
1
请注意 @pbodsk,这是您的 Info.plist!而不是 Google 添加的奇怪的那个。还请注意,我在此答案中提供了您必须使用的确切、新的语法。 - Fattie
2
它完美地工作了,我可以复制和粘贴您的代码,一切都很好,所以谢谢您 :) - pbodsk
1
@Fattie,你知道这些在Android中的对应方式吗? - iadcialim24
1
很遗憾,我毫不知情 :/ 要跟上Firebase的花招可是个全职工作 :/ - Fattie
显示剩余3条评论

20

您可以通过将 plist 标志 FirebaseScreenReportingEnabled 添加到 Info.plist 并将其值设置为 NO(布尔值)来禁用自动屏幕报告。请注意,该值必须是布尔值而不是字符串。

对于 Firebase 的 Google Analytics 不支持仅手动报告的屏幕报告情况。plist 标志 FirebaseAutomaticScreenReportingEnabled 已更名为 FirebaseScreenReportingEnabled,以减少这种混淆。我们支持自动+手动屏幕报告或根本不进行屏幕报告。


3
我尝试从Google Analytics切换到Firebase,并意识到Firebase中的自动屏幕报告并不总是有效。这取决于视图控制器的管理方式。在我的情况下,它还会跟踪用户看不到的屏幕,因为它们暂时超出了窗口边界。应该可以禁用自动屏幕跟踪,并仅手动跟踪以避免破坏指标。 - Manuel
13
我尝试了很长时间才让它正常工作。在项目的 Info.plist 中添加 FirebaseScreenReportingEnabled,而将其添加到 GoogleService-Info.plist 中则无效。 - JeffRegan
2
是否有一种方法可以关闭所有自动分析事件?例如“first_open”,“session_start”等等...我们有自己的系统,不希望增加额外的噪音。谢谢。 - Darko
请查看“禁用分析收集”文档 https://firebase.google.com/support/guides/disable-analytics - AniV

14

2020年

在iOS上,需在info.plist文件中将FirebaseAutomaticScreenReportingEnabled设置为NO。在Android上,需在清单文件(manifest)中将google_analytics_automatic_screen_reporting_enabled设置为false


5
info.plist 文件中。
添加

FirebaseScreenReportingEnabled

确保它的值为 Boolean
并将其设置为

NO


似乎不可能。当布尔值时,该值最终会更改为0。 - JCraine
0代表假。这是正确的。 - Tushar Katyal

4
请确保将密钥类型更改为“布尔值”(而不是字符串)。 Info.plist

1
我将类型设为布尔型并输入了NO,它自动将其视为0。 - MacDeveloper
@MacDeveloper 这里也发生了同样的情况。你解决了吗? - JCraine
@MacDeveloper 0 表示 false,尝试在除 XCode 之外的其他 IDE 中查看 info.plist 文件,您会发现它已设置为所需的 false。 - Harmeet Singh

3

2022年计划

这个方法对我很有效,基于这篇官方博客文章(来自2020年):

iOS

在XCode中 - 在Info.plist中将FirebaseScreenReportingEnabled设置为Boolean类型,并选择值“NO”,这将变为0 - 这是可以的。

如果您在XCode之外直接打开Info.plist,则会看到以下内容:

<key>FirebaseAutomaticScreenReportingEnabled</key>
<false/>

Android

AndroidManifest.xml 文件中添加:

<manifest>
    <application>
        <meta-data
            android:name="google_analytics_automatic_screen_reporting_enabled"
            android:value="false" />
        <!-- ... -->
    </application>
</manifest>

源代码 还有文档在这里

别忘了重新构建。


2

如果有人对编辑Info.plist不熟悉,false值就是零0

enter image description here


FirebaseAppDelegateProxyEnabled 可能会破坏推送通知! - Nike Kov

1

Swift 4

Firebase错误控制台

确保这两行是布尔值

FirebaseAppDelegateProxyEnabled Boolean No

FirebaseScreenReportingEnabled Boolean No


FirebaseAppDelegateProxyEnabled 可能会破坏推送通知! - Nike Kov

1

您的plist文件中的标志FirebaseScreenReportingEnabled应该是布尔类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接