web-dev-qa-db-ja.com

AWS SNSは、iOSプッシュ通知ヘッダーにapns-Push-typeとapns-priorityを追加していますか?

AppleのAPNsドキュメント によると、http APIのiOS 13クライアントの時点でmustヘッダーフィールドをapns-Push-typeに送信する必要がありますおよびapns-priorityまたはリクエストが失敗します。案の定、iOS 13ベータ版にアップデートしたユーザーは、AWS/SNSを介して送信するサイレントプッシュ通知を受け取っていません。

AFAICT、SNSが実際に送信するリクエストにこれらのヘッダーフィールドを「挿入」する方法はありません。しかし、Amazonは当然これを行うべきであるように思われます。これがないと、何十億もの通知がすぐに失敗し始めるからです。

彼らがすぐにこれを行う計画があるかどうか誰でも知っていますか?それとも彼らはすでにそれをやっていて、私は何かが足りないのですか?

7
John Scalo

私のテストでは、SNSがdoesapns-Push-typeフィールドを追加しているようです。 実際には、Apple/iOSはapns-Push-typeフィールドの要件をまだ実施していません。 Knuff を介して送信されたプッシュには、このヘッダーが含まれていませんが、まだはiOS 13ベータ8デバイスで受信されます。また、SNS 13を介してiOS 13デバイスで目立つ通知(ユーザーに表示される通知)を受信することもできます。目立つ通知は機能しますか?

サイレント通知の問題に気づいているだけだと言ったので、おそらくapns-priority値とのこの競合に遭遇しています:

apns-priority通知の優先度。このヘッダーを省略すると、APNは通知の優先度を10に設定します。

通知をすぐに送信するには、10を指定します。値10は、アラートをトリガーしたり、音を鳴らしたり、アプリのアイコンにバッジを付けたりする通知に適しています。 ペイロードにcontent-availableキーが含まれている通知にこの優先度を指定するとエラーになります。

5を指定して、ユーザーのデバイスの電力に関する考慮事項に基づいて通知を送信します。ペイロードにcontent-availableキーが含まれる通知には、この優先度を使用します。この優先度の通知はグループ化され、ユーザーのデバイスにバーストで配信される場合があります。また、スロットルされ、配信されない場合もあります。

apns-priority = 10およびcontent-availableキー(サイレントプッシュに使用)を使用して通知を送信しようとすると、エラーになります。たぶんそれがあなたのサイレントプッシュが落とされている理由ですか?

0
shocking