Что я сделал:
Я создал простой IOS родное приложение, которое не имеет ничего, кроме OneSignal кодов initializaion. Я установил приложение на свои 2 устройства, устройство A и устройство B. Оба устройства подписываются на мою консоль приложений OneSignal. Когда я отправляю уведомление от OneSignal Web Console, 2 устройства могут оба получать уведомление.OneSignal IOS SDK отправить уведомление сбой код 400
Что я хочу сделать:
При нажатии на кнопку на устройстве, устройство А посылает уведомление на устройство 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 Auth Key.
https://documentation.onesignal.com/reference#create-notification
И это также говорит: НИКОГДА не используйте «REST API ключ» в коде клиента, он предназначен для использования в вашей системе или только сервер.
Так что же означает эта ошибка? А что мне делать?
Я даже скопировал и запустил этот код «работа без проблем» с this discussion, но та же ошибка авторизации все еще появляется. Что я делаю не так?