我正在尝试在我的iOS应用中实现Intercom.io的自定义属性。我在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])
}
我已经成功提交了“名称”和“电子邮件”,但是我的“custom_attributes”无效。根据对讲机的文档,我认为我的语法是正确的:
https://docs.intercom.io/Install-on-your-mobile-product/configuring-intercom-for-ios
但是我是Swift新手,没有Obj-C的经验。
同样重要的是要注意我的事件正在正确地报告。
Intercom.logEventWithName(eventName)
我的语法有什么问题吗?还是其他?请帮忙!
最佳答案
原来有两个问题:
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)