私のアプリにAPNSが統合されています。アプリのバックグラウンドで通知する必要があります。たとえば、私たちはバックグラウンドで通知を受けました。カウンタの数はです。すべての通知で動的な変更があります。アプリがバックグラウンドまたはアプリが強制終了したときにiOSで処理することは可能ですか?APNSバッジカウンターのバックグラウンド処理
1
A
答えて
1
通知カウンタを管理するには、サーバーで機能を設定する必要があります。あなたが新しい通知を読んでいない場合は、Facebook
の例を取ることができます。カウンタの増加が1増加し、通知をクリックすると0に戻ります。新しい通知を読むたびに、ユーザーが開いているかどうかにかかわらず、サーバー側でも管理されます。
通知のユーザーは、次の1つ以上のカウンタは4
と表示されません。
そして、あなたの一回、アップデートでサーバーからのカウントを受け取り、これは誰もが持っている場合、私は私のiOS
アプリケーションで同じことを実現してきたように私の理解である0
に設定されたすべての更新が表示されている場合は、アプリケーションのバッジのカウンターのようにそれを扱う
良い解決策。提案してください。私はこの写真(ソースGoogle)が完全な理解を与えることを願っています。
2
これは、バックエンドサーバーからAPNSペイロードです。
{
"aps" : {
"alert" : "You got your emails.",
"badge" : 9,
"sound" : "bingbong.aiff"
},
"acme1" : "bar",
"acme2" : 42
}
- キーバッジの値が自動的にバッジcount.On IOSアプリ側としてカウント数を計算したり、処理する必要性を全く考慮されていません。上記の例では
- 我々が使用している理由は、あなたのアプリがuはあなたのown.Thatsのバッジを扱うことができないに近いですが、あなたのアプリのアイコンが
- NOTEが表示されますcount.Soバッジですあなたの場合:通知についてよりよく明確にするためAPNSペイロード
- からバッジキーはdocumentation
EDITを参照してください次のあなたのown.Decrementに数をバッジの数を削減し、それがyourself.as更新する
NSInteger numberOfBadges = [UIApplication sharedApplication].applicationIconBadgeNumber
numberOfBadges -=1;
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:numberOfBadges];
をしたいか、他そのバッジアイコンは以下のコードではdisappeared.Addされますので、へのカウントを行います** applicationDidBecomeActive **
application.applicationIconBadgeNumber = 0;
私はドン午前、このその作業正しい、 - (無効)アプリケーション:(のUIApplication *)アプリケーションdidReceiveRemoteNotification:(NSDictionaryの*)のUserInfo { [のUIApplication sharedApplication] .applicationIconBadgeNumber = [のUIApplication sharedApplication] .applicationIc onBadgeNumber + 1; }しかし、私の問題は、アプリが強制終了されたときにバッジカウンターを更新できないことです。[UIApplication sharedApplication]のように。applicationIconBadgeNumber = [[[userInfo objectForKey:@ "aps"] objectForKey:@ "badgecount"] intValue]; しかし、私はこのコードを置く必要があるメソッドを識別することができません。おかげで助けてください –
あなたのケースでは、カウントを1ずつ増やしています。この機能は呼び出されません。サーバーから取得しているものだけを「badgeCount」だけがアプリアイコンに表示されます。その場合、サーバーから正しいカウントを送信するようにサーバーから管理する必要があります。 – Buntylm
更新された回答を参照してください。 – Buntylm