2012-04-12 8 views
4

は、私は、サーバーから取得するために、新たなデータがあることをクライアントに気づくには、チャットアプリでそれを行う必要があります。iPhoneで「サイレント」プッシュ通知を送信することはできますか(アラートなし)?

私は技術的には、(少なくとも、それが働いたIOS 5デバイス上の)空のペイロードを持つことが可能であることを知っているが、Appleはサービスの乱用として、それを参照するか、それはそれを行うことがOKであることができますか?

そして、それは、iOS 4デバイス上で技術的には可能でしょうか?

+0

? – JeremyP

+0

あなたは何も表示する前にデータをダウンロードする必要があるので。私はあなたが写真を受け取ったことを知っていますが、あなたにそれを伝える前にそれをダウンロードしたいと思います。 usabillityの問題です。 – IgniteCoders

答えて

5

はい、唯一のバッジ番号をインクリメントは、アプリのアイコンを1個のバッジがあるでしょう、音やアラートを送信いけない、そう。

だから、ここ無意識のバッジの数は、ユーザーがアプリのアイコンを監視するとき、何かが受け取ってきたことを示すために増分されます。

しかし、あなたのデバイスは、アラートまたは空のペイロードをreciveないし、あなたがiPhone

の「サイレント」プッシュ通知を求めたとAppDelegateに設定している間、設定だけ

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge]; 
バッジためにも音を受け取るません。

あなたはバッジ数があなたを増やしたくない場合は、これはあなた

+1

私は時々音を鳴らして警告を送ることができる必要があるので、私はこのように構成したくありません。ペイロードなしでプッシュを送信すれば(私はまだバッジ番号を送信することができます)、私はテストしたものから動作します。しかし、私はiOS 4でそれをテストしていませんでした。 – Eyal

+1

Appleがサービスの乱用と見なすのは分かりますか、それとも問題ないのですか? – Eyal

+0

それはOKです、リンゴはそれを悪用しないでください – Charan

2

のために役立つことを願っても、サイレント、サウンドファイルを再生するサウンド通知を送信してみてください可能性があります。 (残念なことに、アップルにとってこれが良いのか分かりません)。あなたはこのようなペイロード構築する必要があります

+1

これもうまくいくはずです。あなたは実際にオーディオファイルを送信していませんが、すでにアプリケーションバンドルに入っているオーディオファイルを参照するだけです。そのオーディオファイルがサイレントであれば、それは完璧です。音楽を聴くときにプッシュを受け取っても目立つかもしれませんが。 – mtwagner

5

:APSで

String payload = 
'{ 
    "aps":{ 
     "content-available": 1 
    }, 
    "data_id": 5, 
    "additional_data": ["some", "data"] 
}' 

は、Appleがプッシュ通知の表示にそれを作るために、テキスト、音、バッジ...あるいは単にコンテンツ利用可能を作るために必要なvariales入れますサイレント。次に、 'aps {...}'のうち '、'で区切ってカスタムフィールドを配置し、ダウンロードに必要な情報を送信します。ユーザーが新しいデータがある知っているしたいとは思わないでしょうなぜ

関連する問題