Параметры Firebase по умолчанию не регистрируются на панели мониторинга событий - PullRequest
0 голосов
/ 20 мая 2019

Итак, у меня проблемы с записью параметров событий из моего приложения в консоль 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)

При вызове метода он регистрирует событие по умолчанию на приборной панели, но ни один из параметров по умолчанию. Любая информация о том, почему это происходит, будет принята с благодарностью, заранее!

1 Ответ

0 голосов
/ 21 мая 2019

Типы событий имеют определенные параметры, которые они позволяют.

Параметры для AnalyticsEventSelectContent [ 1 ] :

  • AnalyticsParameterContentType

  • AnalyticsParameterItemID

В то время как для AnalyticsEventViewItem [ 2 ] есть:

  • AnalyticsParameterItemID
  • AnalyticsParameterItemName
  • AnalyticsParameterItemCategory
  • AnalyticsParameterItemLocationID (необязательно)
  • AnalyticsParameterPrice (необязательно)
  • AnalyticsParameterQuantity (необязательно)
  • AnalyticsParameterCurrency (необязательно)
  • AnalyticsParameterValue (необязательно)
  • AnalyticsParameterStartDate (необязательно)
  • AnalyticsParameterEndDate (необязательно)
  • AnalyticsParameterFlightNumber (необязательно)
  • AnalyticsParameterNumberOfPassengers (необязательно)
  • AnalyticsParameterNumberOfNights (необязательно)
  • AnalyticsParameterNumberOfRooms (необязательно)
  • AnalyticsParameterOrigin (необязательно)
  • AnalyticsParameterDestination (необязательно)
  • AnalyticsParameterSearchTerm (необязательно)
  • AnalyticsParameterTravelClass (необязательно)
...