• UIKit
  • SDK
  • サーバー API
React Native/
  • Run Demo
  • SDK の統合
  • 初期化
  • ログインとログアウト
  • メッセージ
    • メッセージの概要
    • メッセージ送信
    • メッセージの受信
    • 過去のメッセージ
    • メッセージ転送
    • メッセージの変更
    • メッセージ挿入
    • メッセージ削除
    • メッセージをクリア
    • メッセージの取り消し
    • オンラインメッセージ
    • 既読レシート
    • クエリーメッセージ
    • グループ @ メッセージ
    • ターゲットグループメッセージ
    • 通知のサイレントモード
    • メッセージ拡張
  • グループ
    • Overview
    • グループ管理
    • グループプロファイル
    • グループメンバーの管理
    • グループメンバープロファイル
    • グループプロパティのカスタマイズ
    • コミュニティ管理
  • ユーザー
    • ユーザープロファイル
    • 友達管理
    • 友達リスト
    • ブラックリスト
  • オフラインプッシュ
    • オフラインプッシュ
  • ローカル検索
    • メッセージ検索
    • 友達を検索
    • グループの検索
    • グループメンバーの検索
  • シグナリング
    • シグナリング管理
  • Changelog
  • Guideline for Beginners
  • コンソールガイド
    • アプリケーションの作成とアップグレード
    • 基本設定
    • 機能設定
    • アカウント管理
    • グループ管理
    • コールバック設定
  • 製品紹介
    • メッセージ管理
      • シングルチャットメッセージ
      • メッセージの保存
      • オフラインプッシュ
      • グループメッセージ
      • メッセージフォーマット
    • アカウントシステム
      • ログイン認証
      • オンライン状態管理
    • グループ関連
      • グループシステム
      • グループ管理
    • ユーザープロファイルとリレーションシップチェーン
      • 資料管理
      • リレーションシップチェーン管理
  • 購入ガイド
    • 課金の概要
    • 価格
  • エラーコード


Feature Description

The group management feature allows creating a group, joining a group, getting the joined groups, leaving a group, or disbanding a group through methods in the TencentImSDKPlugin.v2TIMManager.getGroupManager() core class.

Group Event Listener

In the group management feature as described below, the IM SDK will automatically trigger the group event notification callback, for example, when someone joins or leaves a group.
Call addGroupListener (Details) to add a group event listener.
To stop receiving group events, call removeGroupListener (Details) to remove the group event listener.
You need to set the group event listener in advance to receive group event notifications.
Below is the sample code:

Creating a Group

To initialize the group information such as group introduction, group profile photo, and existing group members when creating a group, call the createGroup advanced API (Details), and the groupID will be returned in the callback for successful creation.
Below is the sample code:
// Create a public group and specify group attributes
groupType: "Publich",
groupName: "groupName",
notification: "",
introduction: "",
faceUrl: "",
isAllMuted: false,
isSupportTopic: false,
addOpt: GroupAddOptTypeEnum.V2TIM_GROUP_ADD_AUTH,
memberList: [],

Joining a Group

The method for joining a group may vary by group type as follows:
Method for Joining a Group
Work group (Work)
By invitation
Public group (Public)
On request from the user and on approval from the group owner or admin
Meeting group (Meeting)
Free to join
Community (Community)
Free to join
Audio-video group (AVChatRoom)
Free to join
The following describes how to join the groups in an easy-to-hard sequence.
You need to call addGroupListener to add a group event listener in advance as instructed in Group Event Listener to receive the following group events.

Free to join a group

Meeting groups (Meeting), audio-video groups (AVChatRoom), and communities are mainly used for free interaction scenarios, such as online meeting and live show. The process of joining such groups is the simplest:
1. The user calls joinGroup (Details) to join the group.
2. After the user has successfully joined the group, all the group members (including the user) will receive the onMemberEnter callback (Details).
Below is the sample code:
// Join the group
TencentImSDKPlugin.v2TIMManager.joinGroup("groupID", "hello");

// Listen for the group join event
onMemberEnter: (groupID, memberList) => {
// Get the information of the user who joined the group

Joining a group by invitation

Work groups (Work) are suitable for communication in work environments. The interaction pattern is designed to disable proactive group joining and only allow users to be invited to join the group by group members. The steps to join a group are as follows:
1. A group member calls inviteUserToGroup (Details) to invite a user to the group.
2. All the group members (including the inviter) receive the onMemberInvited callback (Details), which can contain some UI tips.
Below is the sample code:
// Invite the `userA` user to join the `groupA` group
groupManager.inviteUserToGroup("groupID", []);

// Listen for the group invitation event
onMemberInvited: (groupID, opUser, memberList) => {
// Get the information of the inviter and the invitee

Joining a group on request and on approval

A public group (Public) is similar to the interest group and clan group of QQ. Anyone can join it on request and on approval from the group owner or admin.
The steps to join a group on request and on approval are as follows:

Description of process:
1. The user calls joinGroup (Details) to request to join the group.
2. The group owner or admin receives the onReceiveJoinApplication group join request notification (Details) and calls getGroupApplicationList (Details) to get the group join request list.
3. The group owner or admin traverses the group join request list and calls acceptGroupApplication (Details) to approve a request or refuseGroupApplication (Details) to reject it.
4. After the request to join the group is approved or rejected, the user will receive the onApplicationProcessed callback (Details). Here, if isAgreeJoin is true, the request is approved; otherwise, it is rejected.
5. On approval, all the group members (including the user) will receive the onMemberEnter callback (Details), notifying the group members that someone joined the group.
Below is the sample code:
// ******Group owner******//
// 1. The group owner changes the group join option to approval required.
groupAddOpt: GroupAddOptTypeEnum.V2TIM_GROUP_ADD_AUTH,

// 2. The group owner listens for and processes requests to join the group.
onReceiveJoinApplication: async (groupID, member, opReason) => {
// Get all the requests
const appls = await groupManager.getGroupApplicationList();
appls.data.groupApplicationList.forEach((application) => {
// Approve
// Reject
// ******User******//
// 1. The user requests to join the group.
TencentImSDKPlugin.v2TIMManager.joinGroup("groupID", "hello");

// 2. The user listens for the request review result.
onApplicationProcessed: (groupID, opUser, isAgreeJoin, opReason) => {
// The request to join the group is processed.
onMemberEnter: (groupID, memberlist) => {
// The user joins the group.
The group owner or admin can also call the setGroupInfo API (Details) to change the group join option (V2TIMGroupAddOpt) to "no group join" or "no approval required".
V2TIMGroupAddOpt has the following options:
Group Join Option
No users can join the group.
Approval from the group owner or admin is required to join the group (default value).
Any user can join the group without approval.

Getting the Joined Groups

You can call getJoinedGroupList (Details) to get the list of joined work groups (Work), public groups (Public), meeting groups (Meeting), and communities (Community, which don't support the topic feature). Audio-video groups (AVChatRoom) and communities (Community, which support the topic feature) are not included in this list.
Below is the sample code:
// Get the joined groups
const groupRes = await groupManager.getJoinedGroupList();

Leaving a Group

Call quitGroup (Details) to leave a group. The member who left the group will receive the onQuitFromGroup callback (Details). Other group members will receive the onMemberLeave callback (Details).
The group owner cannot leave a public group (Public), meeting group (Meeting), community, or audio-video group (AVChatRoom) and can only disband it.
Below is the sample code:
// Leave the group

onMemberLeave: (groupID, member) => {
// Information of the member who left the group

Disbanding a Group

You can call dismissGroup (Details) to disband a group, and all the group members will receive the onGroupDismissed callback (Details).
If you have allowed automatically disbanding an inactive group on the server, when the group is automatically disbanded by the server, the SDK will receive the onGroupRecycled callback (Details).
Below is the sample code:
// Disband the group
// Listen for the event
onGroupDismissed: (groupID, opUser) => {
// The group is disbanded.
onGroupRecycled: (groupID, opUser) => {
// The group is reclaimed.

Receiving a Custom Group System Notification

If you call the RESTful API on the server to send a custom system notification to the group, the SDK will call back onReceiveRESTCustomData.