2016-11-22 6 views
1

Я знаю, что это основной вопрос, но я не могу решить, как регистрировать настраиваемое событие с помощью настраиваемых параметров, используя аналитику facebook. Например, я хотел бы войти следующее:Как зарегистрировать настраиваемое событие с помощью parms с помощью аналитики Facebook с помощью swift

  • песня играет
  • название
  • художник

Пожалуйста, смотрите ниже код (который не работает):

let dict = AppEvent.ParametersDictionary(AppEventParameterName.Custom("title), AppEventParameterName.Custom("artist")) 

    AppEvent.ViewedContent(contentType: "test", contentId: "test", extraParameters: dict) 

Я получаю сообщение об ошибке:

"не может ссылаться на значение типа 'ParametersDictionary.Type' (он же 'Dictionary.Type') со списком аргументов«(AppEventParameterName, AppEventParameterName)"

Я также попытался:

let dict = AppEvent.ParametersDictionary(AppEventParameterName.Custom("title"), "test") 

Любая помощь будет очень оценили.

+0

ли XCode показывает сообщение об ошибке? Если так, то, что это? –

+0

Yep "Невозможно вызвать значение типа 'ParametersDictionary.Type' (aka 'Dictionary .Type') с списком аргументов '(AppEventParameterName, AppEventParameterName)'" –

+0

Словарь представляет собой набор пар (ключ, значение) , Для ParametersDictionary ключевым типом является AppEventParameterName, а тип значения - AppEventParameterValueType. Вы предоставляете ключи, но вы не предоставляете значения. Я не слишком хорошо знаком с Swift, но думаю, вам нужно сделать что-то вроде «AppEvent.ParametersDictionary» ([AppEventParameterName.Custom («title»): «test_title»]), где '' test_title "- значение. –

ответ

3

Как указано в документации, словарь должен иметь тип [AppEventParameterName : AppEventParameterValueType].

Вы можете построить словарь, как:

[.Custom["Song Played]: "Sunday Morning", .Custom["Artist"]: "Maroon 5"]

Тогда просто ввести его в AppEventsLogger лог называют так:

AppEventsLogger.log("trackedNewSong", parameters: dictionary, valueToSum: nil, accessToken: nil), где "trackedNewSong" бы событие вы регистрируете и параметры вы прикрепляетесь к нему, встроены в словарь.

Надеюсь, это поможет!

0

Дополнение к ответу Даниила

Для Swift 4:

let fbParams: [AppEventParameterName : AppEventParameterValueType] = [AppEventParameterName.init("id") : id] 
Смежные вопросы