2016-07-28 13 views
1

私のアプリにAPNSが統合されています。アプリのバックグラウンドで通知する必要があります。たとえば、私たちはバックグラウンドで通知を受けました。カウンタの数はです。すべての通知で動的な変更があります。アプリがバックグラウンドまたはアプリが強制終了したときにiOSで処理することは可能ですか?APNSバッジカウンターのバックグラウンド処理

答えて

1

通知カウンタを管理するには、サーバーで機能を設定する必要があります。あなたが新しい通知を読んでいない場合は、Facebookの例を取ることができます。カウンタの増加が1増加し、通知をクリックすると0に戻ります。新しい通知を読むたびに、ユーザーが開いているかどうかにかかわらず、サーバー側でも管理されます。

通知のユーザーは、次の1つ以上のカウンタは4と表示されません。

そして、あなたの一回、アップデートでサーバーからのカウントを受け取り、これは誰もが持っている場合、私は私のiOSアプリケーションで同じことを実現してきたように私の理解である0

に設定されたすべての更新が表示されている場合は、アプリケーションのバッジのカウンターのようにそれを扱う

良い解決策。提案してください。

私はこの写真(ソースGoogle)が完全な理解を与えることを願っています。

enter image description here

+0

私はドン午前、このその作業正しい、 - (無効)アプリケーション:(のUIApplication *)アプリケーションdidReceiveRemoteNotification:(NSDictionaryの*)のUserInfo { [のUIApplication sharedApplication] .applicationIconBadgeNumber = [のUIApplication sharedApplication] .applicationIc onBadgeNumber + 1; }しかし、私の問題は、アプリが強制終了されたときにバッジカウンターを更新できないことです。[UIApplication sharedApplication]のように。applicationIconBadgeNumber = [[[userInfo objectForKey:@ "aps"] objectForKey:@ "badgecount"] intValue]; しかし、私はこのコードを置く必要があるメソッドを識別することができません。おかげで助けてください –

+1

あなたのケースでは、カウントを1ずつ増やしています。この機能は呼び出されません。サーバーから取得しているものだけを「badgeCount」だけがアプリアイコンに表示されます。その場合、サーバーから正しいカウントを送信するようにサーバーから管理する必要があります。 – Buntylm

+0

更新された回答を参照してください。 – Buntylm

2

これは、バックエンドサーバーからAPNSペイロードです。

{ 
    "aps" : { 
     "alert" : "You got your emails.", 
     "badge" : 9, 
     "sound" : "bingbong.aiff" 
    }, 
    "acme1" : "bar", 
    "acme2" : 42 
} 
  1. キーバッジの値が自動的にバッジcount.On IOSアプリ側としてカウント数を計算したり、処理する必要性を全く考慮されていません。上記の例では
  2. 我々が使用している理由は、あなたのアプリがuはあなたのown.Thatsのバッジを扱うことができないに近いですが、あなたのアプリのアイコンが
  3. NOTEが表示されますcount.Soバッジですあなたの場合:通知についてよりよく明確にするためAPNSペイロード
  4. からバッジキーはdocumentation

EDITを参照してください次のあなたのown.Decrementに数をバッジの数を削減し、それがyourself.as更新する

NSInteger numberOfBadges = [UIApplication sharedApplication].applicationIconBadgeNumber 
numberOfBadges -=1; 

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:numberOfBadges]; 

をしたいか、他そのバッジアイコンは以下のコードではdisappeared.Addされますので、へのカウントを行います** applicationDidBecomeActive **

application.applicationIconBadgeNumber = 0; 
+0

素敵な努力@gokul – Buntylm

+0

ありがとうございました。ハッピーコーディング:) @BuntyMadan – Gokul

+0

@gokulバックグラウンドで通知をクリックすることなく可能です。バッジカウンターが更新されました。 –