我做了什么:
我创建了有什么,但OneSignal initializaion代码简单的iOS原生应用。 我安装在我的2台设备,设备A和设备B.这两款器件均订阅我OneSignal应用程序控制台我的应用程序。 当我从OneSignal Web控制台发送通知,2台设备既可以recive通知。
我想做的事:
当我点击设备A上的按钮,装置A将通知发送到设备B.
问题是什么:
我跟着OneSignal的iOS SDK文档和创建以下功能https://documentation.onesignal.com/docs/ios-native-sdk#section-sending-notifications
func onButtonClick() {
OneSignal.postNotification(
[
"contents": ["en": "Test Message"],
"include_player_ids": ["c00bb8a6-79da-419b-9999-e919831a5223"] // id of device B
],
onSuccess: {(result) in print("success") },
onFailure: {(error) in print("error : \(error)") }
)
}
然而,当我点击该按钮,错误在Xcode调试控制台显示出来:
2017-01-20 11:15:52.702852 my.bundle.id[2263:1201122] ERROR: Create notification failed
error : Optional(Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={
errors = (
"Please include a case-sensitive header of Authorization: Basic <YOUR-REST-API-KEY-HERE> with a valid REST API key."
);
reference = (
"https://documentation.onesignal.com/docs/accounts-and-keys#section-keys-ids"
);
}})
我很困惑,因为根据OneSignal参考文档,发送通知,“include_player_ids” 不需要API验证密钥。
https://documentation.onesignal.com/reference#create-notification
而且,它也说: 不要使用在客户端代码的“REST API密钥”,它是为你的系统或仅服务器上使用。
那么这个错误是什么意思? 而且我应该怎么办?
我甚至复制并“没有任何问题的作品”从代码中运行这个讨论 ,但同样的授权错误仍然显示。 我究竟做错了什么?