Firebase默认参数未记录到事件仪表板

时间:2019-05-20 19:36:02

标签: swift firebase firebase-analytics

所以我在将事件参数从应用程序记录到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)

调用该方法时,它将默认事件记录到仪表板,但没有默认参数。感谢您提供任何有关为什么发生这种情况的信息,在此先感谢您!

1 个答案:

答案 0 :(得分:0)

事件类型具有允许使用的特定参数。

AnalyticsEventSelectContent [1] 的参数是:

  • AnalyticsParameterContentType

  • AnalyticsParameterItemID

AnalyticsEventViewItem [2] 为:

  • AnalyticsParameterItemID
  • AnalyticsParameterItemName
  • AnalyticsParameterItemCategory
  • AnalyticsParameterItemLocationID(可选)
  • AnalyticsParameterPrice(可选)
  • AnalyticsParameterQuantity(可选)
  • AnalyticsParameterCurrency(可选)
  • AnalyticsParameterValue(可选)
  • AnalyticsParameterStartDate(可选)
  • AnalyticsParameterEndDate(可选)
  • AnalyticsParameterFlightNumber(可选)
  • AnalyticsParameterNumberOfPassengers(可选)
  • AnalyticsParameterNumberOfNights(可选)
  • AnalyticsParameterNumberOfRooms(可选)
  • AnalyticsParameterOrigin(可选)
  • AnalyticsParameterDestination(可选)
  • AnalyticsParameterSearchTerm(可选)
  • AnalyticsParameterTravelClass(可选)