【发布时间】: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