Аналитика Firebase отображает неверные данные в DebugView

Alexander спросил: 28 апреля 2018 в 08:24 в: ios

Я использую Firebase Analytics. Я зарегистрировал два пользовательских свойства, и у меня есть два пользовательских события, каждый из которых включает от 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)
    }}

В этом случае все данные верны.

В этом случае данные неверны, так как это должен быть шаблон Template5 в userProperties.

1 ответ

Есть решение
Alexander ответил: 19 мая 2018 в 07:46

Команда Firebase ответила мне

Привет, я только что получил обновление от наших инженеров, подтверждающее, что это действительно ошибка в нашем конце. Они уже работают над исправлением этой проблемы, но я не могу делиться деталями или временными рамками относительно того, когда это будет исправлено. Будьте внимательны к нашим заметкам о выпуске для любых обновлений, касающихся этого.