【发布时间】:2017-10-26 03:25:06
【问题描述】:
我尝试使用 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之前让它火吗?
【问题讨论】:
-
setScreenName 应该在 viewDidAppear 中调用:而不是 loadView:屏幕应该对用户可见。
标签: swift firebase firebase-analytics