GameChat Docs
  • Overview
  • Getting Started
  • Basics
    • Game Chat (V2)
      • Game Chat(한국어)
        • Game Chat 사용 준비
        • Game Chat 시작
          • Game Chat 운영 및 관리
          • Unity SDK
        • OpenAPI
          • 채널 생성
          • 채널 수정
          • 채널 삭제
        • Game Chat 리소스 관리
        • Game Chat 릴리즈 노트
      • Game Chat(English)
        • Prerequisites for using Game Chat
        • Getting started with Game Chat
          • Game Chat operation and management
          • Unity SDK
        • OpenAPI
          • Channel creation API
          • Channel edit
          • Channel deletion API
        • Game Chat resource management
        • Game Chat release notes
      • Game Chat(日本語)
        • Game Chat を使用する前に
        • Game Chat を開始する
          • Game Chat の運用と管理
          • Unity SDK
        • OpenAPI
          • チャンネル作成API
          • チャネルの修正
          • チャンネル削除API
        • Game Chatのリソース管理
        • Game Chat のリリースノート
      • Game Chat(中文)
        • Game Chat使用前准备
        • 启动Game Chat
          • Game Chat运营和管理
          • Unity SDK
        • Open API
          • 频道创建API
          • 修改频道
          • 频道删除API
        • Game Chat资源管理
        • Game Chat版本注释
    • Game Chat (V3)
      • Game Chat(한국어)
        • V3 사용 시작
          • Unity SDK 설치
          • 초기화
          • 로그인
          • 채널
          • 메시지
          • 이벤트
          • 친구
          • 푸시
          • 가져오기&내보내기
          • 고정 메시지
          • 외부연동
          • 사용예제
          • Troubleshooting
      • Game Chat(English)
        • Start using V3
          • Install Unity SDK
          • Initialization
          • Login
          • Channel
          • messages
          • Events
          • Friendship
          • Push
          • Import and export
          • Pinned message
          • External integration
          • Usage examples
          • Troubleshooting
      • Game Chat(日本語)
        • V3の使用を開始
          • Unity SDK のインストール
          • 初期化
          • ログイン
          • チャンネル
          • メッセージ
          • イベント
          • 友達
          • プッシュ
          • インポート&エクスポート
          • 固定メッセージ
          • 外部連携
          • ユースケース
          • Troubleshooting
      • Game Chat(中文)
        • 开始使用V3
          • Unity SDK 安装
          • 初始化
          • 登录
          • 频道
          • 消息功能
          • 事件
          • 好友
          • 推送
          • 导入与导出
          • 固定消息
          • 外部集成
          • 使用示例
          • Troubleshooting
Powered by GitBook
On this page
  • 消息功能
  • 1. 即时消息
  • 2. 群组聊天
  • 3. 文件共享
  • 4. 消息搜索
  • 5. 通知与通知调整
  • 6. 安全与隐私保护
  • 消息传递
  • 文件上传
  • 消息信息
  • 单条消息信息
  • 全部消息信息
  • 未读消息
  • 消息删除
  1. Basics
  2. Game Chat (V3)
  3. Game Chat(中文)
  4. 开始使用V3

消息功能

消息功能

Game Chat 提供的消息功能包括支持用户间有效沟通的多种服务。该平台适用于个人对话以及群组对话,使发送和接收消息的过程变得简单快捷。以下是 Game Chat 的主要消息功能及其特点:

1. 即时消息

  • 实时沟通:用户可以实时发送和接收消息,从而将沟通延迟降至最低。

  • 多设备支持:用户可以在智能手机、平板电脑、PC 等多种设备上进行消息的发送和接收。

2. 群组聊天

  • 多个参与者:用户可以创建多个参与者的群组聊天,以便共享信息并简化团队内部的沟通。

  • 频道管理:管理员可以通过群组聊天添加或删除成员,并调整群组的设置。

3. 文件共享

  • 支持多种文件格式:可以通过聊天轻松共享文本、图片、视频、文档等多种格式的文件。

  • 安全的文件存储:Ncloud Chat 将文件保存在客户拥有的 Object Storage 中,从而防止信息外泄。

4. 消息搜索

  • 关键词搜索:在聊天中使用特定关键词来搜索过去的对话内容。

  • 高级过滤选项:可以应用日期、参与者、文件类型等各种过滤器,以快速找到所需的消息。

5. 通知与通知调整

  • 推送通知:当有新消息或重要更新时,会向用户发送通知,以防止信息遗漏。

  • 通知设置:用户可以调整通知的类型和频率,以便以所需的方式接收信息。

6. 安全与隐私保护

  • 数据加密:所有消息在传输和存储过程中都进行加密,以防止数据泄露。

  • 隐私保护:用户的个人信息和对话内容受到严格保护,未经用户同意不会向第三方公开。

Game Chat 的消息功能使用户的沟通变得顺畅和高效,在工作和日常生活中发挥了重要作用。这些功能帮助用户更轻松地进行沟通,并在增强团队合作方面做出了巨大贡献。

消息传递

创建并加入频道后,可以通过以下方式发送新消息。

const message = 'Hello !!!';
await nc.sendMessage(
        channelId: CHANNEL_ID, 
        type:"text", 
        content: message
);


// 回复消息时
await nc.sendMessage(
        channelId: CHANNEL_ID, 
        type:"text", 
        content: message, 
        parentMessageId: [MESSAGE_ID]
        );

// 如果需要对消息进行自动翻译
await nc.sendMessage(
        channelId: CHANNEL_ID, 
        type:"text", 
        content: message, 
        translate: true
        );

// 在新消息中,通过以下方式补充父消息的内容,并传递 parent_message。
{
    "id": "message_id",
    "text": "Message",
    "parent_message_id": "first_message_id",
    "parent_message": { 
        "id": "message_id", 
        "text": "message_name",
        "sender" : {
            "id" : "Sender",
             "name" : "Sender Nickname",
             "profile" : "profile url"
        }
    }
}

备注

消息以 JSON 格式发送/接收,可以使用各种自定义值。

Hashtable messageArray = new Hashtable
{
    { "channel_id", "channelId" },
    { "state", 1 },
    { "desc" , "Desc" }
};
// 将消息转换为普通文本。
const jsonString = JsonConvert.SerializeObject(messageArray);
// 将接收到的消息转换为数组。
Hashtable hashtable = JsonConvert.DeserializeObject<Hashtable>(jsonString);
ID
Type
Description

CHANNEL_ID

string

频道 ID

type

string

发送的消息类型(text, image)

MESSAGE

string

发送消息时,可以使用文本或 JSON 字符串以实现多种用途。

MENTIONS

array

提及的用户 ID

  • 使用 Express Message Express Message 函数专门用于快速发送消息。它跳过所有可能导致时间延迟的部分,使消息发送速度比常规 sendMessage 快 10 倍。其与常规 sendMessage 的区别如下:

Function
Description
过滤
屏蔽
翻译

sendMessage

常规消息发送

O

O

O

sendExpressMessage

快速消息发送

X

X

X

可以用于游戏中的实时 PvP 制作或任何需要高速广播的服务。

文件上传

  • 您可以将文件发送到特定的频道。

  • 在大屏幕中选择设置 > 安全 > 允许的文件类型,仅允许上传被允许的文件类型。

await nc.sendFile([CHANNEL_ID],file);
ID
Type
Description

CHANNEL_ID

string

频道 ID

file

string

文件信息

备注

  • 必须启用对象存储功能。

  • 在上传时,请在大屏幕项目设置 > 安全设置中配置上传类型和上传大小等设置。

  • 支持的文件类型:支持所有常见类型,包括图像、视频、文档、压缩文件等。如需支持额外的扩展名,请通过“cs@nbase.io”进行询问,我们会在安全审查后添加支持。

  • 使用文件链接时,端点地址为 https://apps.ncloudchat.naverncp.com。 例如: https://apps.ncloudchat.naverncp.com/archive/[archiveId]

消息信息

  • Message Data Class

ID
Type
Description

id

string

ID (unique)

message_id

string

消息 ID

sort_id

string

消息排序 ID

message_type

string

消息类型

sender.id

string

发件人 ID

sender.name

string

发件人姓名

sender.profile

string

发件人头像

metions

string

提及列表

metions_everyone

string

是否全体提及

content

string

消息内容

created_at

string

创建日期

sended_at

string

发送日期

单条消息信息

可以获取单条消息的详细信息。

NBaseSDK.Message message = await nc.getMessage([CHANNEL_ID], [MESSAGE_ID]);

全部消息信息

可以获取所有消息的详细信息。

Hashtable filter = new Hashtable
{
    { "channel_id", [CHANNEL_ID] }
};
Hashtable sort = new Hashtable
{
    { "sort_id", -1 }
};
Hashtable option = new Hashtable
{
    { "offset", 0 },
    { "per_page", 10 }
};
var messages = await nc.getMessages(filter, sort, option);
if (messages != null)
    {
            foreach (var message in messages.edges)
        {
            string id = message.Node.message_id.ToString();
            Console.WriteLine("[CloudChatSample] id={0}", id);
        }
    }
  • Parameters

ID
Type
Description
Required

filter

object

可以对所有字段进行搜索。

O

sort

object

定义要排序字段的过滤器

X

option

object

如有可选项,请参阅下方参考内容。

X

  • Options

ID
Type
Description

offset

number

起始 offset

per_page

number

返回的数量(最多 100 个)

未读消息

返回未读消息的数量。 首先通过 markRead 传递最后一条已读消息的信息。

nc.markRead([CHANNEL_ID], new NBaseSDK.Mark 
{
    user_id = USER_ID, 
    message_id = MESSAGE_ID,
    sort_id = SORT_ID
});
// 返回标记之后的所有未读消息的总数。
var unread = nc.unreadCount([CHANNEL_ID]);
ID
Type
Description

USER_ID

string

消息中包含的 user_id 输入

MESSAGE_ID

string

消息中包含的 message_id 输入

SORT_ID

string

消息中包含的 sort_id 输入

消息删除

可以删除我在该频道内发送的消息。

await nc.deleteMessage([CHANNEL_ID], [MESSAGE_ID]);
  • Parameters

ID
Type
Description

CHANNEL_ID

string

频道 ID

MESSAGE_ID

string

消息 ID

Previous频道Next事件

Last updated 8 months ago

仅在与服务集成后可以使用。

对象存储