tencent cloud

文档反馈

自定义角标

最后更新时间:2024-06-13 10:39:26

    Flutter

    请参照下方 iOS 和 Android 章节进行配置即可。调用的方法均在 Flutter 版本的 IM SDK 中有同名方法。

    Android

    支持厂商

    华为。

    配置方法

    控制台配置华为角标参数为应用的启动类,例如 “com.tencent.qcloud.tim.demo.SplashActivity”。组件会自动解析和更新角标;反之不会更新角标。
    
    
    

    iOS

    默认情况下,当 App 进入后台后,IMSDK 会将当前 IM 未读消息总数设置为角标。如果 App 接入了离线推送,当接收到新的离线推送时,App 角标会在基准角标(默认是 IM 未读消息总数,如果自定义了角标,则以自定义角标为准)的基础上加 1 逐条递增。

    配置方法

    如果想自定义角标,可按照如下步骤设置:
    2. App 实现 - (uint32_t)onSetAPPUnreadCount 接口,并在内部返回需要自定义的角标。
    // 1. 设置监听
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 监听推送
    [V2TIMManager.sharedInstance setAPNSListener:self];
    // 监听会话的未读数
    [[V2TIMManager sharedInstance] setConversationListener:self];
    return YES;
    }
    
    // 2. 未读数发生变化后保存未读数
    - (void)onTotalUnreadMessageCountChanged:(UInt64)totalUnreadCount {
    self.unreadNumber = totalUnreadCount;
    }
    
    // 3. App 推到后台后上报自定义未读数
    /** 程序进后台后,自定义 App 的未读数,如果不处理,App 未读数默认为所有会话未读数之和
    * <pre>
    *
    * - (uint32_t)onSetAPPUnreadCount {
    * return 100; // 自定义未读数
    * }
    *
    * </pre>
    */
    - (uint32_t)onSetAPPUnreadCount {
    // 1. 获取自定义的角标
    uint32_t customBadgeNumber = ...
    // 2. 加上 IM 的消息未读数
    customBadgeNumber += self.unreadNumber;
    // 3. 通过 IMSDK 上报给 IM 服务器
    return customBadgeNumber;
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持