2016-11-23 7 views
-1

オープニングアプリと同じように、アプリアイコンのバッジ番号を0に設定しています。iOSプッシュ通知のインクリメントは常にゼロに設定されていますが、ゼロが設定されていますか?

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

しかし、アプリが死んでいる状態のバックグラウンドの間にサーバーが増分を送信するため、サーバーは再びZEROで始まらない。

2であれば3より大きく、1回押すごとに4になると言います。アプリケーションを開いてゼロに戻して戻ると、iCONでは何も表示されませんが、サーバーが送信すると5から開始します。

要するに、既存のカウンタを保持します。

この問題を解決するにはどうすればよいですか。私はiOS 10.1とXcode 8.1を持っています。

ありがとうございます。

+0

プッシュ通知ペイロードからアプリケーションバッジ番号を取得している可能性があります。 {「あなたはあなたの電子メールを得た」、 「バッジ」: 「APS」:{ 「警告」9 } } :あなたは、次のペイロードを持っている場合たとえば、 それはあなたが設定されていても9になりますアプリのバッジゼロは終了します。 –

+0

は完全にあなたに同意しません。私はバッジを取得していない:サーバーから9、その増加、別の戦略。 –

+0

プッシュ通知ペイロードを表示できますか? –

答えて

0

サーバからのペイロードには、すでに設定されているバッジ番号があります。その前にあったものであれば問題ありません。ペイロードの重要なバッジ番号のみです。

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;と呼ばれる場所にカスタムロジックを追加すると、アプリを起動するたびにサーバーのバッジ数をリセットできます。

+0

私はそれを0にしましたFinishedLaunch。それはメインアイコンに表示され、隠れたバッジを意味しますが、サーバーから来るので、0の前に再び同じ数+1を表示します。 –

+0

ローカルバッジ番号を0に設定していますが、**サーバー**はカウントインをリセットしません次回は、ローカルリセット後にbadgeNumberを取得します。ペイロードにcount + 1があります。そのため、count + 1に直接設定されています。あなたが必要とするのは、このカウンタをアプリケーションと同様にサーバー上でリセットすることです。 –

+0

サーバはcount + 1を返すことはありません。インクリメント、ノーカウント、バッジ番号、シンプルインクリメントのみとなります。私は自宅にいる、私は明日オフィスから積載量を与えるだろう。 –

関連する問題