2013-08-23 20 views
5

プッシュ通知を受信すると自動的にバッジ番号が増加するようにしたいとします。たとえば、2つの通知を受け取った場合は2を表示します。数が増えます。そして、私はアプリケーションを開いたときに数値がゼロになるようにしたい。それでは、私がやっていることは、次のとおりです。アプリケーションで コードAPNSからプッシュ通知を受信したときの自動インクリメントバッジ番号

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

を起動仕上がりがそうでなければ、リモート通知を受信しなかったのコードは、サーバー内の

application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue];

ありましたphpファイル:

$payload = '{"aps": {"alert":"'.$message.'", "sound":"default","badge":"+1"}}'; 

しかし、残念ながら、上記のコードが間違っている場合は私を修正してください、進歩していただきありがとうございます。

答えて

3

バッジ番号を自動増分するためのプッシュ通知にオプションはありません。バッジに表示される番号を渡す必要があります。

また、application:didReceiveRemoteNotification:は、アプリがフォアグラウンドで実行されている場合にのみ呼び出されます。ここで新しいバッジ番号を計算することができますが、アプリがフォアグラウンドにない場合は、これは役に立ちません。

バッジ番号サーバー側も追跡する必要があります。

+1

はい、私はそれは私が求めています何で、何のオプションがありません知っていますか?どうすればいいですか?バッジ番号のサーバー側をどのように追跡できますか? please – Fatima

+0

あなたはアプリケーションが呼び出すことができるあなたのWebサービス用のAPI呼び出しを行う必要があります。これを行う方法は、あなたとデータベースをセットアップする方法に左右されます。あなたのアプリはどのメッセージを読んだのかをサーバーに伝える必要があり、そのユーザーの未読メッセージの数を数える必要があります。 – rckoenes

+1

@ファティマデータベースがどのように設定されているのか、そこにあるデータがどのように問題を解決できないのかわからないためです。問題を解決するためのコードをたくさん書くことができますが、それをシステムに統合する方法を私に尋ねます。また、私たちはあなたのためにコードを書くのに役立ちますが、書くことはありません。 – rckoenes

1

次のような何かを行うことができ

- (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo { 

NSLog(@"userInfo:%@",userInfo); 

    badge_value+=[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"]intValue];<br> 
    NSLog(@"Totoal badge Value:%d",badge_value);<br> 

for (id key in userInfo) { 
    NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]); 
} 
[UIApplication sharedApplication].applicationIconBadgeNumber = badge_value;} 
+0

ありがとう、私は月曜日までにそれを試し、あなたにフィードバックを与えるでしょう。 – Fatima

+0

このクエリでは+1の代わりに何を書きますか?$ payload = '{"aps":{"alert": "' $ message。 '"、 "sound": "default"、 "badge" +1 "}} ''; – Fatima

+3

phpコードでバッジを増やす必要はありません。ノーリフィケーションが受信されるとバッジを増やし、読み込み時にバッジをクリアする必要があります。 ios側のバッジを管理する – wasim

関連する問題