Swift的Intercom.io自定义属性不起作用

时间:2015-10-17 13:39:58

标签: ios swift swift2 intercom intercom-ios

我正在尝试将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])
}

我成功提交了#34;姓名" &安培; "电子邮件"但我的" custom_attributes"没有工作。根据Intercom的文档,我认为我的语法是正确的: https://docs.intercom.io/Install-on-your-mobile-product/configuring-intercom-for-ios

但我是Swift的新手,对Obj-C没有经验。

同样重要的是要注意我的活动是通过正确报道的。

Intercom.logEventWithName(eventName)

我的语法有什么问题吗?还是其他什么?请帮忙!

1 个答案:

答案 0 :(得分:4)

原来有两个问题:

1)内部通信文档错误,自定义属性不需要“custom_attributes”标记

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

现在修复!感谢来自Intercom的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)