我尝试使用Firebase跟踪我的应用程序。这是我的代码:

import UIKit
import Firebase

class Section1121: UIViewController {

    override func loadView() {
        super.loadView()
        Analytics.setScreenName("Screen1.1.2.1", screenClass: "Section1121")
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(true)

        // Do any additional setup after loading the view.
        Analytics.logEvent(AnalyticsEventAddToCart, parameters: nil)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


我期望以下命令:
1:触发默认screen_view事件,而不更改屏幕名称
2:setScreenname触发并更改屏幕名称
3:触发logevent,并使用新的屏幕名称发送add_to_cart事件

但是调试视图上的实际顺序为1-> 3-> 2,并且记录的add_to_cart没有新的屏幕名称。
这是screenshot of debug view

在代码中,setScreenname肯定在logEvent之前,但是为什么触发顺序已更改?
我可以在logEvent之前点火吗?

最佳答案

遵循adbitx的建议,我将setScreenName移到了viewDidAppear之前,而logEvent似乎可以正常工作。

关于swift - setScreenname()仅在logEvent()之后触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46945377/

10-10 23:44