Firebase Analytics 是否可以在 Xcode 的模拟器中工作?

Fat*_*tie 5 xcode ios firebase-analytics

在 IOS 应用程序中,我有

在此处输入图片说明

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

 Analytics.logEvent("touchedButton", parameters: nil)
Run Code Online (Sandbox Code Playgroud)

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

或者,如果您构建到 iPhone?

或者它只有在它是经过 TestFlight 的实际构建时才有效?

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

正是在这里,此类自定义事件将显示:

在此处输入图片说明

u.g*_*gen 11

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

如果您还没有阅读,请阅读他们的入门教程,它涵盖了大部分内容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
Run Code Online (Sandbox Code Playgroud)
  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
        ])
}
Run Code Online (Sandbox Code Playgroud)

但是在 firestore 中,它们聚集在select_content部分下,因为我AnalyticsEventSelectContent在创建日志时使用了密钥。

在主事件屏幕下,select_content我的视图控制器使用上述功能记录 在此处输入图片说明

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

在此处输入图片说明

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