我正在使用OneSignal来管理我的推送通知。对于某些通知,我收到了:
通知必须包含英语内容
但我只以英语发送所有内容......
/nl/info
谁,副标题,内容是字符串,结果是接收者ID。大多数通知都是发送的,有些人收到了错误消息。
控制台:
oneSignal.postNotification(["headings" : ["en": "\(who)"],
"subtitle" : ["en": "\(subtitle)"],
"contents" : ["en": "\(contents)"],
"include_player_ids": [result]],
我的完整功能:
> ERROR: Create notification failed
Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={
errors = (
" Notifications must have English language content"
);
}}
我错过了什么?非常感谢帮助。
答案 0 :(得分:4)
我认为4个字段中的一个是错误的。在这种情况下,错误可能意味着它在非英语编码中有非法字符或字符。在发布通知之前打印每个字段。
可能会导致引发此错误的另一种情况,因为其中一个字段为空或为零。在发布通知之前再次将它们打印到日志中。
答案 1 :(得分:1)
您的JSON结构错误。这是一个有效的代码示例:
let objNotif = ["contents": ["en" : message], "include_player_ids": [userID!]]
//print(objNotif)
OneSignal.postNotification(objNotif, onSuccess: { (jsonSuccess) in
//Post OK
}) { (error) in
//Error
}
OneSignal文档: https://documentation.onesignal.com/docs/ios-native-sdk