setScreenname() 仅在 logEvent() 之后触发
setScreenname() only fires after logEvent()
我尝试使用 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
之前,代码似乎可以正常工作。
我尝试使用 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
之前,代码似乎可以正常工作。