0

I'm trying to implement custom attributes for Intercom.io into my iOS app. I'm in XCode 7, Swift 2 and iOS 9.

Here's my code:

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])
}

I am successfully submitting "name" & "email" but my "custom_attributes" aren't working. I think my syntax is correct according to the Intercom's documentation: https://docs.intercom.io/Install-on-your-mobile-product/configuring-intercom-for-ios

But I'm a Swift newbie and have no experience with Obj-C.

Also important to note that my events are reporting properly through.

Intercom.logEventWithName(eventName)

Is there anything wrong with my syntax?? Or anything else? Please help!

4

1 回答 1

4

结果发现有两个问题:

1) 对讲文档错误,自定义属性不需要“custom_attributes”标签

2) 我的 URL 格式是 NSURL 而不是字符串,因此整个对象被拒绝

现在修好了!感谢对讲机 Dale 的支持

代码很简单:

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)
于 2015-10-19T13:47:29.240 回答