Итак, у меня проблемы с записью параметров событий из моего приложения в консоль Firebase. События и их параметры отображаются, как и ожидалось, в DebugView Firebase, и когда я нажимаю на события на вкладке «События», все события отображаются. Однако для зарегистрированных параметров нет доступных данных, даже если они являются параметрами Firebase по умолчанию.
Я довольно много читал в несколько запутанной документации Firebase и вижу, что для того, чтобы увидеть пользовательские параметры, отображаемые на приборной панели, мне нужно зарегистрировать их в приложении (хотя существуют некоторые жесткие ограничения на количество текстовых параметров, которые мы можем). Однако я ничего не читал о таких ограничениях, налагаемых на стандартные события Firebase и параметры по умолчанию, или о том, что нам даже нужно зарегистрировать параметры по умолчанию.
Я абстрагировал функциональность logEvent Firebase в следующую логику (включил геттер, потому что я использую Firebase для нескольких модулей):
func sendEvent(eventType: String, toolName: String, toolAction: String, /*actionLabel: String,*/ actionDetail: String?) {
switch provider {
case .firebase:
if actionDetail != nil {
Analytics.logEvent(eventType, parameters: [
AnalyticsParameterOrigin: toolName,
AnalyticsParameterMethod: toolAction,
AnalyticsParameterContent: actionDetail
])
} else {
Analytics.logEvent(eventType, parameters: [
AnalyticsParameterOrigin: toolName,
AnalyticsParameterMethod: toolAction
])
}
case .GA:
print("Event received w/deprecated GA")
}
}
func getAnalyticsEventType(eventString: String) -> String {
switch eventString {
case "selectContent" : return AnalyticsEventSelectContent
case "viewItem" : return AnalyticsEventViewItem
default: return ""
}
}
И вызовите мой пользовательский метод следующим образом:
ValuesExploration.analytics?.sendEvent(eventType: ValuesExploration.analytics?.getAnalyticsEventType(eventString: "selectContent") ?? "", toolName: "Values", toolAction: "Happiness Sticker Selected", actionDetail: value.name)
При вызове метода он регистрирует событие по умолчанию на приборной панели, но ни один из параметров по умолчанию. Любая информация о том, почему это происходит, будет принята с благодарностью, заранее!