代码之家  ›  专栏  ›  技术社区  ›  Alexander Khitev

FireBase Analytics在DebugView中显示不正确的数据

  •  5
  • Alexander Khitev  · 技术社区  · 7 年前

    我正在使用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)
        }
    
    }
    

    在这种情况下,所有数据都是正确的。 enter image description here enter image description here

    在这种情况下,数据是不正确的,因为它应该是userproperties中的template5。 enter image description here enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   Alexander Khitev    7 年前

    消防队回答了我

    你好, 我刚从我们的工程师那里得到一个更新,确认这确实是我们最后的一个错误。他们已经开始着手解决这个问题,但我可以分享细节或时间线,告诉他们何时解决这个问题。请密切关注我们的发行说明,了解有关此的任何更新。