【问题标题】:Firebase Analytics Continuously Tracks UINavigationControllerFirebase Analytics 持续跟踪 UINavigationController
【发布时间】:2017-12-18 07:09:36
【问题描述】:

我正在从 Google Analytics 过渡到 Firebase Analytics。与 Google Analytics(分析)不同,Firebase 会自动跟踪屏幕浏览量,这很棒!但是,它不会跟踪屏幕,而是不断尝试跟踪 UINavigationController。每次导航到不同的视图控制器时,我都会收到以下错误日志两次。

[Firebase/Analytics][I-ACS031006] 已查看控制器 跟踪。类,ID:UINavigationController,-1770652405567491888

当您拥有导航控制器时是否需要进行一些配置?如何让自动屏幕跟踪在这种情况下工作?

更新:我还没有找到解决方案,但我至少找到了问题的原因。如果您的初始视图控制器是选项卡栏控制器,那么 Firebase 似乎不了解您的视图控制器层次结构。我的主故事板中的初始视图控制器是一个标签栏控制器。如果我把它拿出来,我会从我的应用程序中获得良好的屏幕跟踪报告。

更新:看起来我已经找到了一个好的解决方案,但我仍然想知道是否有人有更好的主意。由于 Firebase 将我的 Tab Bar Controller 下的所有视图控制器都视为同一个 UINavigationController,因此我可以在 viewDidAppear 中为所有视图手动调用 setScreenName。

Analytics.setScreenName(screenName, screenClass: screenClass)

这没关系,因为它并不比 Google Analyics 差,但它并不理想,因为系统仍然尝试为每个视图控制器跟踪 UINavigationController 两次,而且我也没有获得自动屏幕跟踪的好处。我考虑尝试从 Firebase 中删除 Tab Bar Controller,就像某些人似乎已经完成的那样,但看起来这些方法已从 Firebase SDK 的当前 (v4.0.0) 版本中删除。

【问题讨论】:

  • 您有没有找到更好的解决方法?屏幕视图分析是无用的,因为这个。我也找不到其他人在谈论这个问题。

标签: ios iphone swift firebase firebase-analytics


【解决方案1】:

Google Analytics for Firebase 会自动跟踪屏幕。您可以在主仪表板的用户参与卡中看到它。这已在 iOS 的 Firebase Version 3.8.0 中引入。 track screen 文档中的更多内容。引用文档:

在这些屏幕上发生的事件会自动使用参数 firebase_screen_class(例如,menuViewController 或 MenuActivity)和生成的 firebase_screen_id 进行标记。如果您的应用为每个屏幕使用不同的 UIViewController 或 Activity,Analytics 可以自动跟踪每个屏幕转换并生成按屏幕细分的用户参与度报告。

但是,您也可以使用 setCurrentScreen() 方法跟踪屏幕manually。当您从下拉列表中选择 ScreenName 时,该屏幕上的详细信息应显示在用户参与卡中,代码中手动跟踪的所有屏幕都应显示在那里,并显示平均持续时间细分。

请注意,setScreenName 不是一个事件,而是一个事件参数,与 logEvent() 方法调用中跟踪的事件一起出现。

【讨论】:

  • 这是所有有用且正确的信息,但它不能回答我的问题。
  • 还有关闭所有自动分析事件的方法吗?例如“first_open”、“session_start”等……我们有自己的系统,不想要额外的噪音。谢谢。
  • 查看“禁用分析集合”文档 firebase.google.com/support/guides/disable-analytics
猜你喜欢
  • 2023-03-27
  • 2019-07-13
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2019-09-26
相关资源
最近更新 更多