Firebase分析在DebugView中显示不正确的数据 [英] Firebase analytics displays incorrect data in DebugView

查看:395
本文介绍了Firebase分析在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆