プッシュ通知に関連付ける必要があるメタデータがいくつかあります。リンゴプッシュ通知はアラートやサウンドより多くのパラメータを送信できますか?
たとえば、ユーザーno、メッセージID。
私はAppleがサポートしているものよりも多くのパラメータを送信することができます
{aps = {
alert = joetheman;
sound = default;
};}
が可能、このですか?
プッシュ通知に関連付ける必要があるメタデータがいくつかあります。リンゴプッシュ通知はアラートやサウンドより多くのパラメータを送信できますか?
たとえば、ユーザーno、メッセージID。
私はAppleがサポートしているものよりも多くのパラメータを送信することができます
{aps = {
alert = joetheman;
sound = default;
};}
が可能、このですか?
はい。プッシュ通知プログラミングガイドセクションThe Notification Payload
プロバイダーは、Apple予約済みのAPネームスペースの外でカスタムペイロード値を指定できます。カスタム値には、JSONの構造化プリミティブ型(辞書(オブジェクト)、配列、文字列、数値、ブール値)を使用する必要があります。カスタムペイロードデータとして顧客情報を含めるべきではありません。代わりに、コンテキスト(ユーザーインターフェイス用)または内部メトリックの設定などの目的に使用します。たとえば、カスタムペイロード値は、インスタントメッセージクライアントアプリケーションが使用する対話識別子、またはプロバイダが通知を送信した時刻を識別するタイムスタンプです。アラートメッセージに関連付けられたアクションは、デバイス上のデータの削除など、破壊的であってはなりません。
だからあなたのペイロードは、さらに下、同じページ上の
{
"aps": {
"alert": "joetheman",
"sound": "default"
},
"message": "Some custom message for your app",
"id": 1234
}
のようになります。このことを示す例の数です。
もちろんです。リンゴプッシュ通知付きのペイロードとしてカスタムパラメータを送信できます。ケヴィン・バラードのように、ペイロードは上記のようになります。しかし、いつもあなたがプッシュ通知を扱っていることを覚えておいてください。リンゴの制約に従ってプッシュ通知は、通知ペイロードに許される最大サイズは256バイトです。 Apple Push Notification Serviceはこれを超える通知を拒否します。通知にデータを追加するときは、これを考慮してください。
http/2で新しいapnsを使用する場合、新しい制限は2048 – Enigma
です。制限は4096バイトに増加します。 https://developer.apple.com/news/?id=12172015b – infiniteloop
新しい制限は4Kbです(iOS 10) – preetam
カスタムタグをapsタグ内に配置することはできません。ここではそれについて言っているドキュメンテーションです:
Providers can specify custom payload values outside the Apple-reserved aps namespace. Custom values must use the JSON structured and primitive types: dictionary (object), array, string, number, and Boolean.
だからあなたのような何かをする必要があり、あなたのケースで:したがって、あなたはそれを探してカスタムペイロードを読み取ることができ
{
"aps": {
"alert": "Hello Push",
"sound": "default"
},
"People": {
"Address": "Your address here",
"Name": "Your Name here",
"Number": "XXXXXXXXXX"
}
}
のキーはではなく、メインJSONにあります"aps":
私はクラブ内の "message"と "id"を辞書の中に入れて送ることができます。私はそのシナリオでいくつかの奇妙な問題に直面しています。 – kidsid49
リンクはMacのドキュメントを参照していることに注意してください。https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.htmlのiOSドキュメント(必ずしも異なるものではありません)があります。 – thomers
ペイロードはどのように編集できますか? – Haring10