2017-01-20 9 views
1

に失敗通知を送信:

を私はOneSignal initializaionコードしか持っていないシンプルなiOSのネイティブアプリケーションを作成しました。 2つのデバイス、デバイスA、デバイスBにアプリケーションをインストールしました。両方のデバイスがOneSignal App Consoleに登録されています。 OneSignal Web Consoleから通知を送信すると、2つのデバイスが通知を受け取ることができます。私が何をしたいかOneSignalのiOS SDK私が行っているどのようなコード400

私は続く:私はデバイス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のデバッグコンソールに表示、上:OneSignal参考文書によると、API認証キーを必要としません「include_player_ids」との通知を送信するため

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" 
    ); 
}}) 

私は、混乱していました。

https://documentation.onesignal.com/reference#create-notification

そしてそれはまた、言う:は、クライアントコードであなたの「REST APIキー」を使用しないでください、それはあなたのシステムやサーバー上でのみ使用することを意図しています。

このエラーは何を意味しますか?そして私はどうしたらいいですか?

this discussionの「問題なしで作業する」コードをコピーして実行しても、同じ認証エラーが引き続き表示されます。私は間違って何をしていますか?

答えて

2

アンサー

SDKをアップグレードするだけで、問題はなくなります。

これはOneSignal-iOS-SDK 2.3.1のバグで、2.3.2に修正されました。

Github Release Notesをご覧ください。ポッドは、フレームワークの最新バージョンをインストールすることを確実にするためにpod installpod repo updateを実行して、必ず問題

、この種のを避けるためにどのように

ありがとうKevin、JasonとJoshがOne Signal Conversationsからこの問題を解決するのに役立ちます。

関連する問題