• UIKit
  • SDK
  • 서버 API
Chat/
SDK/
Unity(Game Solution)/
대화/
SDK
  • Run Demo
  • SDK 통합
  • 초기화
  • 로그인 및 로그아웃
  • 메시지
    • 메시지 개요
    • 메시지 보내기
    • 메시지 받기
    • 과거 메시지
    • 메시지 전달
    • 메시지 수정
    • 메시지 삭제
    • 메시지 비우기
    • 메시지 철회
    • 온라인 메시지
    • 읽음 확인
    • 메시지 조회
    • 그룹 @ 메시지
    • 지향적 그룹 메시지
    • 알림 음소거
    • 메시지 확장
  • 대화
    • 대화 개요
    • 대화 목록
    • 대화 획득
    • 읽지 않은 대화 수
    • 대화 최상단 고정
    • 대화 삭제
    • 대화 초안
    • 대화 마크
    • 대화 그룹
  • 그룹
    • 그룹 개요
    • 그룹 관리
    • 그룹 정보
    • 그룹 멤버 관리
    • 그룹 멤버 정보
    • 그룹 속성 사용자 정의
    • 그룹 카운터
  • 사용자
    • 사용자 정보
    • 사용자 상태
    • 친구 관리
    • 친구 목록
    • 블록리스트
  • Changelog
  • Guideline for Beginners
  • 콘솔 안내
    • 애플리케이션 생성 및 업그레이드
    • 기본 구성
    • 기능 구성
    • 계정 관리
    • 그룹 관리
    • 콜백 구성
  • 제품 소개
    • 메시지 관리
      • 1대1 메시지
      • 메시지 저장
      • 오프라인 푸시
      • 그룹 메시지
      • 메시지 포맷
    • 계정 시스템
      • 로그인 인증
      • 온라인 상태 관리
    • 그룹 관련
      • 그룹 시스템
      • 그룹 관리
    • 사용자 정보 및 관계망
      • 정보 관리
      • 관계망 관리
  • 구매 가이드
    • 과금 개요
    • 가격
  • 에러코드
이 페이지는 현재 영어로만 제공되며 한국어 버전은 곧 제공될 예정입니다. 기다려 주셔서 감사드립니다.

대화 마크

Overview

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.
Note:
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.
Caution:
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:
Attribute
Definition
Description
conversationIDList
List of conversation IDs
Up to 100 conversations can be marked at a time.
markType
Mark type
A conversation can be marked as a favorite, unread, collapsed, or hidden.
enableMark
Mark/Unmark
A conversation can be marked/unmarked.
Note:
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> {
conv_id
}, 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`.
}
});