setScreenname()仅在logEvent()

时间:2017-10-26 03:25:07

标签: swift firebase firebase-analytics

我尝试使用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之前解雇吗?

1 个答案:

答案 0 :(得分:0)

根据adbitx的建议,我在setScreenName之前将viewDidAppear移至logEvent,代码似乎正常运行。