我開發了服務器端應用程序,以便在收到新通知後將徽章號碼保持爲遞增或遞減,並在看到通知正常工作後刪除。Apple推送通知徽章號碼
但是在顯示徽章時存在一些問題,實際情況是 - 在設備上獲得新通知後,我點擊取消按鈕,然後徽章號碼顯示正確,但此後我將打開應用程序並關閉應用程序徽章將被刪除。這意味着我不會向服務器發送通知被我看到的請求,現在您可以將徽章減1。然後還從應用圖標中移除徽章。
我的問題是,當我們打開應用程序,然後徽章號碼自動從(應用程序)設備中刪除?或者它會顯示,直到我們設置爲零?
我開發了服務器端應用程序,以便在收到新通知後將徽章號碼保持爲遞增或遞減,並在看到通知正常工作後刪除。Apple推送通知徽章號碼
但是在顯示徽章時存在一些問題,實際情況是 - 在設備上獲得新通知後,我點擊取消按鈕,然後徽章號碼顯示正確,但此後我將打開應用程序並關閉應用程序徽章將被刪除。這意味着我不會向服務器發送通知被我看到的請求,現在您可以將徽章減1。然後還從應用圖標中移除徽章。
我的問題是,當我們打開應用程序,然後徽章號碼自動從(應用程序)設備中刪除?或者它會顯示,直到我們設置爲零?
它會顯示,直到你把它設置成零,你可以用下面的代碼做到這一點:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]
編輯:
這是比較常見的,你收到通知設置的徽章數量,application:didReceiveRemoteNotification:
或application:didFinishLaunchingWithOptions:
您的UIApplicationDelegate
類的方法。
如果要更改圖標徽章自動使用下面的代碼,你可以閱讀在Local and Push Notification Programming Guide
更多地瞭解它。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
application.applicationIconBadgeNumber = 0;
NSLog(@"userInfo %@",userInfo);
for (id key in userInfo) {
NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
}
[application setApplicationIconBadgeNumber:[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]];
NSLog(@"Badge %d",[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]);
}
我們還需要更改php文件。所以我們可以自動更換圖標徽章
// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'id' => '135',
'badge' => 8
);