【问题标题】:Will Firebase Analytics work from the simulator in Xcode?Firebase Analytics 会在 Xcode 中的模拟器上工作吗?
【发布时间】:2018-07-23 18:47:03
【问题描述】:

在我的 IOS 应用中

我确保不存在 plist“失败”条目,然后我有类似的分析事件

 Analytics.logEvent("touchedButton", parameters: nil)

事实上,如果我只是在 Xcode 模拟器中运行应用程序......这些事件是否会报告给 Firebase Analytics 并显示出来?

或者,如果您构建到 iPhone 上?

还是只有在实际构建通过 TestFlight 时才有效?

令人惊讶的是,我在任何地方都找不到此信息。

这样的自定义事件会在这里显示吗:

【问题讨论】:

    标签: ios xcode firebase-analytics


    【解决方案1】:

    是的,模拟器或设备都可以工作。

    如果您还没有阅读,请阅读他们的入门教程,它涵盖了大部分内容https://firebase.google.com/docs/analytics/ios/start

    几点

    1. 确保在配置 Firestore 设置时启用分析

    AnalyticsConfiguration.shared().setAnalyticsCollectionEnabled(true)

    我在 AppDelegate 中完成所有这些初始设置

    类似

    //init Firebase
            FirebaseConfiguration.shared.setLoggerLevel(.min)
            FirebaseApp.configure()
            Fabric.with([Crashlytics.self])
            let _ = FirebaseConfig.sharedInstance // This is a custom singelton class where I enable the analytics
    
    1. 在您的目标的方案设置中,您需要添加-FIRAnalyticsDebugEnabled

    如您所见,我在那里也有一个禁用选项,有时分析会发疯并且向控制台发送垃圾邮件,所以我想用 . -FIRDebugDisabled

    1. 除非您指定它是自定义事件,否则 Analytics 会对您的事件进行聚类。

    例如,我使用以下标记视图控制器名称

        func logEvent(eventTitle:String , eventContent:String)
    {
        Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
            AnalyticsParameterItemID: "AppName-\(eventTitle)" as NSObject,
            AnalyticsParameterItemName: eventTitle as NSObject,
            AnalyticsParameterContentType: eventContent as NSObject
            ])
    }
    

    但是在 Firestore 中,这些都聚集在 select_content 部分下,因为我在创建日志时使用了 AnalyticsEventSelectContent 键。

    在主事件屏幕下,select_content 我的视图控制器使用上述功能记录

    4. FirestoreConsole 中有一个特定的 DebugView 可与设备配合使用,只要该方案中 -FIRAnalyticsDebugEnabled 的设置为 true,它每 60 秒更新一次。

    1. Firestore 控制台的“事件”部分出现明显延迟,我不知道为什么会发生这种情况,但有时会出现长达 15 到 30 分钟的延迟。还没有研究过这个问题,它真的不打扰我。

    【讨论】:

    • 感谢您提供这么棒的信息。我正在努力!
    • 让我感到困惑的一件事是,我没有设置“-FIRAnalyticsDebugEnabled”。事实上,当然它应该仍然有效,对吧?或者你的意思是,你必须设置它——让它在模拟器中工作?我刚刚在设备上构建了一个 TestFlight:当然,即使没有设置“-FIRAnalyticsDebugEnabled”,它也会起作用?你怎么看?
    • 我认为该设置主要用于 Firestore 控制台中的 DebugView。我没有用模拟器测试它,但我的 UI 测试发送日志事件,所以我认为它适用于模拟器.....你的 testflight 构建应该仍然有效,因为我在方案设置中关闭了我的-FIRAnalyticsDebugEnabled,我可以看到通过我的 AdHoc 构建来自我的 QA 的事件。我个人觉得很烦人,如果我离开 -FIRAnalyticsDebugEnabled,Xcode 的控制台会被分析日志淹没,我真的找不到我真正想要的东西。
    • 我正在使用react-native-firebase 并且只需在调试方案中添加-FIRAnalyticsDebugEnabled 就足以在iOS 模拟器上运行时在DebugView 中查看日志。我不需要触摸 AppDelegate.m
    【解决方案2】:

    只要关注https://firebase.google.com/docs/analytics/ios/start

    要在您的开发设备上启用分析调试模式,请在 Xcode 中指定以下命令行参数:

    -FIRDebugEnabled

    它适用于模拟器和设备。

    注意:对于 react-native 调试,使用所选方案而不是“yarn ios”从 xcode 启动应用程序,那么它也适用于模拟器 p>

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2022-11-28
      相关资源
      最近更新 更多