问题
I'm trying to log screen names in my app but I have like 95% not set in Firebase Analytics.
In onAppear
for a view I do Analytics.setScreenName("screenName", screenClass: "screenName")
Should I do this differently? It seems that Analytics for iOS works in conjunction with UIViewController
s but since this a SwiftUI app and there is no documentation on how to work with that.
回答1:
We are working on a better solution for this. As you mentioned, the way the view controller hierarchy of a SwiftUI app is made up, this is not entirely trivial to solve, but we've got a couple of ideas.
In the meantime, you might want to try this workaround that some people have suggested on the Github issue:
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
Analytics.setScreenName("todo_tab", screenClass: String(describing: type(of: self)))
}
来源:https://stackoverflow.com/questions/59515618/how-to-log-firebase-analytics-screen-name-in-a-swiftui-app