我尝试使用 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
事件
但调试 View 上的实际顺序是 1 -> 3 -> 2,并且 add_to_cart
记录时没有新的屏幕名称。
这是screenshot of debug view 。
在代码中,setScreenname
肯定是在logEvent
之前,但是为什么触发顺序改变了?
我可以让它在 logEvent
之前触发吗?
最佳答案
按照 adbitx 的建议,我将 setScreenName
移至 logEvent
之前的 viewDidAppear
,代码似乎可以正常工作。
关于swift - setScreenname() 仅在 logEvent() 之后触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945377/