【发布时间】:2019-05-20 19:36:01
【问题描述】:
所以我在将事件参数从我的应用程序记录到 Firebase 控制台时遇到问题。事件及其参数按预期显示在 Firebase 的 DebugView 上,当我单击“事件”选项卡上的事件时,所有事件都会显示出来。但是,我记录的参数没有可用的数据,即使它们是默认的 Firebase 参数。
我对 Firebase 有点混乱的文档进行了大量阅读,发现为了看到自定义参数显示在仪表板上,我需要在应用程序中注册它们(即使有一些硬性限制我们允许的文本参数的数量)。但是,我没有读到任何关于对 Firebase 的默认事件和默认参数施加此类限制的信息,或者我们甚至需要注册默认参数。
我已将 Firebase 的 logEvent 功能抽象为以下逻辑(包括一个 getter,因为我在多个 pod 中使用 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)
在调用该方法时,它将默认事件记录到仪表板,但不记录任何默认参数。任何关于为什么会发生这种情况的意见将不胜感激,在此先感谢您!
【问题讨论】:
标签: swift firebase firebase-analytics