为什么除非我先显式记录伪事件,否则Firebase Analytics First_OPEN事件不会自动发送?

nzkunb0c  于 2022-09-19  发布在  Swift
关注(0)|答案(1)|浏览(189)

我正在执行安装程序https://www.raywenderlich.com/18579842-firebase-analytics-getting-started

我正在使用标志-FIRAnalyticsDebugEnabled

我在Firebase Analytics调试视图中查看实时结果

我还检查了XCode的控制台输出。

但是,我注意到,如果我以以下方式编写代码

未收到任何Firebase分析事件

import Firebase

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {    
        FirebaseApp.configure()

        return true
    }

但是,如果我以以下方式编写代码

接收Firebase分析First_OPEN事件

import Firebase

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {    
        FirebaseApp.configure()

        let title = "xxx"
        Analytics.logEvent(AnalyticsEventSelectContent, parameters: [
            AnalyticsParameterItemID: "id-(title)",
            AnalyticsParameterItemName: title,
            AnalyticsParameterContentType: "cont",
        ])

        return true
    }

我需要显式地记录事件以接收first_open

我想知道为什么会这样?有没有办法,我仍然可以自动接收first_open事件,而不必记录虚拟事件?

r7knjye2

r7knjye21#

这是我正在使用的代码片段,以确保将first_open事件发送到Firebase控制台。

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        ...

        FirebaseApp.configure()

        // Not sure why. We need to call this function for first_open to be sent automatically.
        // https://stackoverflow.com/questions/73600417/why-firebase-analytics-first-open-event-is-not-sent-automatically-unless-i-first
        Analytics.setAnalyticsCollectionEnabled(true)

        return true
    }

我已经通过查看Firebase控制台进行了验证。接收first_open事件。

尽管如此,我还是不确定为什么需要这样的额外代码片段。我想应该是自动发送的吧?

相关问题