首页 文章

Firebase Analytics持续跟踪UINavigationController

提问于
浏览
4

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

[Firebase / Analytics] [I-ACS031006]已跟踪视图控制器 . 类,ID:UINavigationController,-1770652405567491888

有导航控制器时是否需要一些配置?如何在此方案中使用自动屏幕跟踪功能?

UPDATE: 如果您的初始视图控制器是标签栏控制器,我无法理解您的视图控制器层次结构 . 我主要故事板中的初始视图控制器是一个标签栏控制器 . 如果我把它拿出来,我会从我的应用程序获得良好的屏幕跟踪报告 .

UPDATE: 看起来我仍然想知道是否有人有更好的主意 . 由于Firebase将我的Tab Bar Controller下的所有视图控制器视为相同的UINavigationController,因此我可以在viewDidAppear中为所有这些控制器手动调用setScreenName .

Analytics.setScreenName(screenName, screenClass: screenClass)

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

1 回答

  • 2

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

    这些屏幕上发生的事件会使用参数firebase_screen_class(例如,menuViewController或MenuActivity)和生成的firebase_screen_id自动标记 . 如果您的应用为每个屏幕使用不同的UIViewController或Activity, Analytics can automatically track every screen transition and generate a report of user engagement broken down by screen.

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

    请注意,setScreenName不是一个事件,而是一个事件参数,它与在logEvent()方法调用中跟踪的事件一起使用 .

相关问题