Пользовательские атрибуты Intercom.io для Swift не работают

Я пытаюсь внедрить пользовательские атрибуты для Intercom.io в мое приложение для iOS. Я в XCode 7, Swift 2 и iOS 9.

Вот мой код:

class func updateUser(user: User) {
    Intercom.updateUserWithAttributes([
        "name": user.name,
        "email": user.email
    ])

    let userAttributes = ([
        "role": "customer",
        "phone": user.phone,
        "First Name": user.firstName,
        "Last Name": user.lastName,
        "Referral Code": user.referralCode,
        "Avatar Pic": user.avatarURL,
        "Profile Pic": user.profilePicURL
    ])

    Intercom.updateUserWithAttributes(["custom_attributes": userAttributes])
}

Я успешно отправляю "name" и "email", но мои "custom_attributes" не работают. Я думаю, что мой синтаксис правильный в соответствии с документацией Интеркома: https://docs.intercom.io/Install-on-your-mobile-product/configuring-intercom-for-ios

Но я новичок в Swift и не имею опыта работы с Obj-C.

Также важно отметить, что о моих событиях сообщают должным образом.

Intercom.logEventWithName(eventName)

Что-то не так с моим синтаксисом? Или что-нибудь еще? Пожалуйста помоги!

1 ответ

Решение

Оказывается, было две проблемы:

1) Неправильная документация по внутренней связи и тег "custom_attributes" не нужен для пользовательских атрибутов

2) мои форматы URL были NSURL, а не Strings, и поэтому весь объект был отклонен

Исправлено сейчас! Спасибо Дейлу из Интеркома за поддержку

код просто:

let userAttributes = [
        "name": user.name,
        "email": user.email,
        "role": "customer",
        "phone": user.phone,
        "first_name": user.firstName,
        "last_name": user.lastName,
        "referral_code": user.referralCode,
        "avatar_pic": user.avatarURLString,
        "profile_pic": user.profilePicURLString
    ]

Intercom.updateUserWithAttributes(userAttributes)
Другие вопросы по тегам