所以我在将事件参数从应用程序记录到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)
调用该方法时,它将默认事件记录到仪表板,但没有默认参数。感谢您提供任何有关为什么发生这种情况的信息,在此先感谢您!
答案 0 :(得分:0)
事件类型具有允许使用的特定参数。
AnalyticsEventSelectContent
[1] 的参数是:
AnalyticsParameterContentType
AnalyticsParameterItemID
AnalyticsEventViewItem
[2] 为: