サーバーから取得する新しいデータがあることをクライアントに通知するには、チャット アプリでそれを行う必要があります。
技術的には空のペイロードで可能であることは知っていますが (少なくとも ios 5 デバイスでは機能していました)、Apple はそれをサービスの乱用と見なすことができますか?
また、iOS 4 デバイスで技術的に可能ですか?
サーバーから取得する新しいデータがあることをクライアントに通知するには、チャット アプリでそれを行う必要があります。
技術的には空のペイロードで可能であることは知っていますが (少なくとも ios 5 デバイスでは機能していました)、Apple はそれをサービスの乱用と見なすことができますか?
また、iOS 4 デバイスで技術的に可能ですか?
はい、バッジ番号のみをインクリメントします。サウンドとアラートは送信しません。そのため、アプリ アイコンにバッジが 1 つ表示されます。
そのため、ユーザーがアプリのアイコンを見たときに何かが受信されたことを示すために、バッジ番号が無意識のうちにインクリメントされます。
ただし、iPhone で「サイレント」プッシュ通知を要求したため、デバイスはアラートまたは空のペイロードを受信せず、音声も受信しません。
AppDelegate での構成中は、バッジのみを構成します
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge];
これがお役に立てば幸いです
次のようにペイロードを作成する必要があります。
String payload =
'{
"aps":{
"content-available": 1
},
"data_id": 5,
"additional_data": ["some", "data"]
}'
aps では、プッシュ通知にテキスト、サウンド、バッジを表示させるために必要なリンゴの変数を配置します。次に、「aps{...}」から「,」で区切られたカスタム フィールドを配置して、ダウンロードに必要な情報を送信します。
バッジ番号を増やしたくない場合は、サイレントサウンドファイルを再生するサウンド通知を送信してみることもできます。(残念ながら、これがAppleにとって問題ないかどうかはわかりません)。