Firebase 分析在 DebugView 中显示不正确的数据
Firebase analytics displays incorrect data in DebugView
我正在使用 Firebase 分析。我注册了两个用户属性并且我有两个自定义事件,每个事件包括 3 到 50 个不同的选项选项。我遇到的问题是,当我设置用户 属性 时,DebugView 经常显示事件的旧用户 属性 或根本不显示。有时它工作正常。请告诉我如何修复它?
我的代码。
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)
}
}
在本次活动中,所有数据都是正确的。
在这种情况下,数据不正确,因为它应该是 userProperties 中的 Template5。
Firebase 团队回复了我
您好,
我刚从我们的工程师那里得到更新,确认这确实是我们这边的一个错误。他们已经在着手解决此问题,但我无法分享有关何时修复此问题的详细信息或时间表。请密切关注我们的发行说明以获取有关此的任何更新。
我正在使用 Firebase 分析。我注册了两个用户属性并且我有两个自定义事件,每个事件包括 3 到 50 个不同的选项选项。我遇到的问题是,当我设置用户 属性 时,DebugView 经常显示事件的旧用户 属性 或根本不显示。有时它工作正常。请告诉我如何修复它?
我的代码。
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)
}
}
在本次活动中,所有数据都是正确的。
在这种情况下,数据不正确,因为它应该是 userProperties 中的 Template5。
Firebase 团队回复了我
您好, 我刚从我们的工程师那里得到更新,确认这确实是我们这边的一个错误。他们已经在着手解决此问题,但我无法分享有关何时修复此问题的详细信息或时间表。请密切关注我们的发行说明以获取有关此的任何更新。