tencent cloud

Chat

News and Announcements
Release Notes
Announcements
Product Introduction
Overview
Basic Concepts
Scenarios
Features
Account System
User Profile and Relationship Chain
Message Management
Group Related
Official Account
Audio/Video Call
Use Limits
Purchase Guide
Billing Overview
Pricing
Purchase Instructions
Renewal Guide
Service Suspension Explanation
Refund Policy
Development Guidelines
Demo Zone
Activate Service
Free Demos
Quick Run
Download
SDK and Demo Source Code
Update Log
Chat Interaction (UI Included)
TUIKit Introduction
Getting Started
Full-feature Integration
Single-function Integration
Build with AI
Build Basic Interfaces
More Features
Customizing Appearance
Internationalization
Push Service
Overview
Noun explanation
Activate the Service
Quick Start
Manufacturer Channel
Statistics
Troubleshooting Tool
Client APIs
REST API
Push Callback
Advanced Features
Release Notes
Error Codes
FAQS
Desk
Overview
Quick Start
Integration Guide
Admin Operation Manual
Agent Manual
More Practices
Live Streaming Setup Guide
AI Chatbot
Super Large Entertainment and Collaboration Community
Discord Implementation Guide
How to Integrate Chat into Games
WhatsApp Channel-style Official Account Integration Solution
Send Red Packet
Firewall Restrictions
No UI Integration
Quick Start
SDK Integration
Initialization
Login and Logout
Message
Conversation
Group
Community Topic
User Profile and Relationship Chain
Offline Push
Cloud Search
Local Search
Official Channel Management
Client APIs
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C APIs
C++
Server APIs
Secure authentication with UserSig
RESTful APIs
Webhooks
Console Guide
New Console Introduction
Creating and Upgrading an Application
Basic Configuration
Feature Configuration
Account Management
Group Management
Official Channel Management
Webhook Configuration
Usage
Viewing Guide for Resource Packages
Real-Time Monitor
Auxiliary Development Tools
Access Management
Advanced Features
FAQs
uni-app FAQs
Purchase
SDK
Account Authentication
User Profile and Relationship Chain
Message
Group
Audio-Video Group
Nickname and Profile Photo
Security Compliance Certification
Service Level Agreement
Security Compliance Certification
Chat Policies
Privacy Policy
Data Privacy and Security Agreement
Migration
Migration Solutions
Migration Solutions Lite
Error Codes
Contact Us

Custom Definition Badge

PDF
Focus Mode
Font Size
Last updated: 2026-03-30 14:41:11
Android
iOS
Flutter
uni-app

Supported Vendors

Huawei.

Configuration Method

To configure the Huawei badge parameters in the console, set them to the application's startup class, for example, "com.tencent.qcloud.tim.demo.SplashActivity". The component will automatically parse and update the badge; otherwise, it will not update the badge.



By default, when the App goes into the background, the ChatSDK will set the total number of unread Chat messages as the badge. If the App is integrated with offline push, when a new offline push notification is received, the App badge will increment by 1 based on the baseline badge (default is the total number of unread Chat messages, or the custom-defined badge if one has been set).

Configuration Method

If you want to customize the badge, follow these steps:
1. The App calls the - (void)setAPNSListener:(id<V2TIMAPNSListener>)apnsListener interface to set the listener.
2. The App implements the - (uint32_t)onSetAPPUnreadCount interface and returns the custom-defined badge number.
Objective-C
Swift
// 1. Set the listener
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Listen for push notifications
[V2TIMManager.sharedInstance setAPNSListener:self];
// Listen for unread conversation counts
[[V2TIMManager sharedInstance] setConversationListener:self];
return YES;
}


// 2. Save the unread count after it changes
- (void)onTotalUnreadMessageCountChanged:(UInt64)totalUnreadCount {
self.unreadNumber = totalUnreadCount;
}


// 3. Report custom-defined unread count after the app is pushed to the background
/** After the application enters the background, customize the app's unread count. If not handled, the default app unread count is the sum of all conversation unread counts
* <pre>
*
* - (uint32_t)onSetAPPUnreadCount {
* return 100; // Custom-defined unread count
* }
*
* </pre>
*/
- (uint32_t)onSetAPPUnreadCount {
// 1. Get the custom-defined badge
uint32_t customBadgeNumber = ...
// 2. Add the IM message unread count
customBadgeNumber += self.unreadNumber;
// 3. Report to the IM server via IMSDK
return customBadgeNumber;
}

import ImSDK_Plus

class AppDelegate: UIResponder, UIApplicationDelegate, V2TIMAPNSListener, V2TIMConversationListener {
var unreadNumber: UInt64 = 0
// 1. Set the listener
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Listen for push notifications
V2TIMManager.sharedInstance()?.setAPNSListener(self)
// Listen for unread conversation counts
V2TIMManager.sharedInstance()?.setConversationListener(self)
return true
}
// 2. Save the unread count after it changes
func onTotalUnreadMessageCountChanged(_ totalUnreadCount: UInt64) {
self.unreadNumber = totalUnreadCount
}
// 3. Report custom-defined unread count after the app is pushed to the background
/// After the application enters the background, customize the app's unread count. If not handled, the default app unread count is the sum of all conversation unread counts
/// - Returns: Custom-defined unread count
func onSetAPPUnreadCount() -> UInt32 {
// 1. Get the custom-defined badge
var customBadgeNumber: UInt32 = 0
// 2. Add the IM message unread count
customBadgeNumber += UInt32(self.unreadNumber)
// 3. Report to the IM server via IMSDK
return customBadgeNumber
}
}
Please refer to Android and iOS for configuration. The methods called have the same names in the Flutter version of the IM SDK.

Supported Vendors

Huawei.

Configuration Method

Step 1. Configure the Huawei badge parameters in the console to the application's startup class.

Note:
The startup class for the uni-app application is io.dcloud.PandoraEntry.




Step 2. Listen to changes in the total unread count of the Chat SDK to set the badge quantity.

1. Listen to the Chat SDK total unread message count updates through TOTAL_UNREAD_MESSAGE_COUNT_UPDATED.
2. Set the badge number through plus.runtime.setBadgeNumber.
let onTotalUnreadMessageCountUpdated = function(event) {
const unreadCount = event.data; // Total unread count of the current session
plus.runtime.setBadgeNumber(unreadCount); // Set the badge number
};
chat.on(TencentCloudChat.EVENT.TOTAL_UNREAD_MESSAGE_COUNT_UPDATED, onTotalUnreadMessageCountUpdated);

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback