Firebase分析在DebugView中显示不正确的数据 [英] Firebase analytics displays incorrect data in DebugView
问题描述
我正在使用Firebase Analytics.我注册了两个用户属性,并且有两个自定义事件,每个事件包括3至50个不同的选项选项.我遇到了这样的问题:设置用户属性时,DebugView通常会显示事件的旧用户属性,或者根本不显示该属性.有时它可以正常工作.请告诉我如何解决?
I'm using Firebase Analytics. I registered two user properties and I have two custom events, each events includes 3 to 50 different options options. I met the problem that when I set the user property, very often DebugView displays the old user property for the event or is not displayed at all. Sometimes it works correctly. Please tell me how it can be fixed?
我的代码.
final class FirebaseAnalyticsManager {
enum ScreenType {
case editStoryScreen, homeScreen, previewStoryScreen, storeItemPreviewScreen
var name: String {
switch self {
case .editStoryScreen:
return "Edit Story Screen"
case .homeScreen:
return "Home Screen"
case .previewStoryScreen:
return "Preview Story Screen"
case .storeItemPreviewScreen:
return "Store Item Preview Screen"
}
}
}
enum Event {
case templateSelected, mediaExport
var name: String {
switch self {
case .templateSelected:
return "TemplateSelected"
case .mediaExport:
return "MediaExport"
}
}
}
enum MediaExportDestination {
case story, page, pageToInstagram
var name: String {
switch self {
case .story:
return "Story"
case .page:
return "Page"
case .pageToInstagram:
return "PageToInstagram"
}
}
}
private enum Keys: String {
case exportType, templateName
}
private init() { }
static let shared = FirebaseAnalyticsManager()
open func trackScreen(_ screenType: ScreenType, screenClass: String?) {
Analytics.setScreenName(screenType.name, screenClass: screenClass)
}
private func trackEvent(_ event: Event, parameters: [String : NSObject]?) {
Analytics.logEvent(event.name, parameters: parameters)
}
open func trackTemplateSelected(_ templateName: String) {
let key = Keys.templateName.rawValue
Analytics.setUserProperty(templateName, forName: key)
var parameters = [String : NSObject]()
parameters[key] = templateName as NSObject
trackEvent(.templateSelected, parameters: parameters)
}
open func trackMediaExport(_ destination: MediaExportDestination) {
let key = Keys.exportType.rawValue
Analytics.setUserProperty(destination.name, forName: key)
var parameters = [String : NSObject]()
parameters[key] = destination.name as NSObject
trackEvent(.mediaExport, parameters: parameters)
}
}
在这种情况下,所有数据都是正确的.
In this event, all data is correct.
在这种情况下,数据不正确,因为在userProperties中它应该是Template5.
In this event, the data is incorrect, since it should be Template5 in userProperties.
推荐答案
Firebase团队回答了我
Firebase team answered to me
你好, 我刚刚从我们的工程师那里得到了一个更新,确认这确实是我们最后的一个错误.他们已经在解决此问题,但我无法就何时解决此问题分享详细信息或时间表.请在我们的发行说明中保留标签,以获取与此相关的任何更新.
Hi there, I just got an update from our engineers confirming that it is indeed a bug in our end. They are already working on a fix for this issue, but I can’t share details or timeline as to when this will be fixed. Please keep tabs on our release notes for any updates regarding this.
这篇关于Firebase分析在DebugView中显示不正确的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!