tencent cloud


Last updated: 2024-02-06 17:37:28


    In some cases, you may need to mark a conversation, for example, as "favorite", "collapsed", "hidden", or "unread", which can be implemented through the following API.
    To use this feature, you need to purchase the Ultimate edition.
    This feature is supported only on native SDK 6.5 or later.

    Conversation Mark

    Marking a conversation

    Call the ConvMarkConversation (details) API to mark or unmark a conversation.
    When a user marks a conversation, the SDK records only the mark value and will not change the underlying logic of the conversation. For example, if a conversation is marked as kTIMConversationMarkTypeUnread, the unread count at the underlying layer will not change.
    Parameters of the API for marking a conversation are as described below:
    List of conversation IDs
    Up to 100 conversations can be marked at a time.
    Mark type
    A conversation can be marked as a favorite, unread, collapsed, or hidden.
    A conversation can be marked/unmarked.
    The SDK provides four default marks ("favorite", "collapsed", "hidden", and "unread"). If they cannot meet your requirements, you can customize extended marks, which must meet the following conditions:
    The value of an extended mark cannot be the same as that of an existing one.
    The value of an extended mark must be 0x1LL << displacement value of n (32 ≤ n < 64 indicates that n must be equal to or greater than 32 and less than 64). For example, 0x1LL << 32 indicates "Online on an iPhone".
    Sample code:
    // Mark a conversation
    TIMResult res = TencentIMSDK.ConvMarkConversation(new List<string> {
    }, TIMConversationMarkType.kTIMConversationMarkTypeStar, true, (int code, string desc, List<ConversationOperationResult> results, string user_data)=>{
    // Async result of the conversation marking

    Listening for the notification of a conversation mark change

    After a conversation is marked or unmarked, the conv_mark_array (details) field of the conversation's ConvInfo will be changed. You can call the SetConvEventCallback (details) API to listen for conversation change notifications.
    Sample code:
    // Set the conversation listener
    TencentIMSDK.SetConvEventCallback((TIMConvEvent conv_event, List<ConvInfo> conv_list, string user_data)=>{
    // Process the callback logic

    Pulling a specified marked conversation

    Call the ConvGetConversationListByFilter (details) API to pull a specified marked conversation.
    Sample code:
    // Get the conversation list
    ConversationListFilter filter = new ConversationListFilter
    conversation_list_filter_conv_type: TIMConvType.kTIMConv_C2C,// Conversation type
    conversation_list_filter_mark_type: TIMConversationMarkType.kTIMConversationMarkTypeStar,// Conversation mark type
    conversation_list_filter_conversation_group: "groupName"// Named of the group whose data is to be pulled
    ulong next_seq = 0; // Pulling cursor
    uint count = 10; // Pulling count
    // Advanced API for getting the conversation list
    TIMResult res = TencentIMSDK.ConvGetConversationListByFilter(filter, next_seq, count, (int code, string desc, ConversationListResult result, string user_data)=>{
    // Async result of the conversation list getting
    if (code == 0) {
    // Pulled successfully
    bool isFinished = result.conversation_list_result_is_finished; // Whether pulling is completed
    next_seq = result.conversation_list_result_next_seq; // Cursor for subsequent paged pulling
    var conversationList = result.conversation_list_result_conv_list; // List of messages pulled this time
    // If more conversations need to be pulled, use the returned `nextSeq` to continue pulling until `isFinished` is `true`.
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support