首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

iOS App 圖標紅點角標歸零:applicationIconBadgeNumber = 0

     編輯:程式設計疑難解答

需求

收到推送 → 圖標右上角紅點數字 +1;用戶打開 App → 數字歸零。

實現

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 註冊遠程通知...
    return YES;
}

// App 進入前台/啟動時清零
- (void)applicationWillEnterForeground:(UIApplication *)application {
    application.applicationIconBadgeNumber = 0;
}

// 或在具體 ViewController viewDidAppear
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}

推送 Payload 關鍵字段

{
  "aps": {
    "alert": "新消息",
    "badge": 5,        // 服務端指定具體數字
    "sound": "default"
  }
}
  • 服務端維護每用戶未讀計數,推送時帶上 `badge`。
  • 客戶端打開 App 時置 0,服務端同步清零未讀數。

注意

  • iOS 10+ 需 `UNUserNotificationCenter` 請求授權 `UNAuthorizationOptionBadge`。
  • 本地通知同樣可設置 `badge` 屬性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved