メッセージ

メッセージ

Game Chatが提供するメッセージ機能は、ユーザー間の効果的なコミュニケーションをサポートする様々なサービスを含みます。このプラットフォームは、個人的な会話だけでなくグループでの会話にも適しており、メッセージの送受信を簡単かつ迅速に行うことができます。以下は Game Chatの主なメッセージ機能とその特徴です。

1. 即時メッセージング

  • リアルタイムコミュニケーション : ユーザーはリアルタイムでメッセージを送受信でき、コミュニケーションの遅延を最小限に抑えます。

  • マルチデバイス対応 : ユーザーはスマートフォン、タブレット、PCなど様々なデバイスでメッセージを送受信できます。

2. グループチャット

  • 複数の参加者 : ユーザーは複数の人が参加するグループチャットを作成して情報を共有し、チーム内のコミュニケーションを容易にすることができます。

  • チャンネル管理 : 管理者はグループチャットを介してメンバーを追加したり削除し、グループの設定を調整できます。

3. ファイル共有

  • 様々なファイル形式をサポート : テキスト、画像、動画、文書など様々な形式のファイルをチャットで簡単に共有できます。

  • 安全なファイル保存 : Game 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"
        }
    }
}

参考

messageは JSON形式で送信/受信すると、様々なユーザー定義の値を使用できます。

Hashtable messageArray = new Hashtable
{
    { "channel_id", "channelId" },
    { "state", 1 },
    { "desc" , "Desc" }
};
// メッセージをプレーンテキストに変換します。
const jsonString = JsonConvert.SerializeObject(messageArray);
// 受信したメッセージを Arrayに変換します。
Hashtable hashtable = JsonConvert.DeserializeObject<Hashtable>(jsonString);
  • Express Messageを使用する: 高速でメッセージを送信するための関数です。時間がかかる可能性のある部分をすべてスキップし、従来より10倍速くメッセージを送信できます。一般 sendMessageとの違いは、次の通りです。

ゲーム内でリアルタイム PvPを制作したり、高速の Broadcastingが必要なすべてのサービスに利用できます。

ファイルアップロード

  • 特定チャンネルにファイルを送信できます。

  • ダッシュボード > 設定 > セキュリティ > 許可されたファイルタイプのみアップロードできます。

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

参考

  • オブジェクトストレージが有効になっている必要があります。

  • Object Storageサービスと連携すると使用できます。

  • アップロード時にダッシュボードの プロジェクト設定 > セキュリティ設定 でアップロードタイプと容量などを設定します。

  • サポートファイルタイプ: 画像、動画、文書、圧縮などの一般的なタイプをすべてサポートし、追加でサポートが必要な拡張子は、お問い合わせからご連絡いただければ、セキュリティ検討後に追加いたします。

  • ファイルリンクを利用する場合、Endpointアドレスは https://apps.ncloudchat.naverncp.comです。 例) https://apps.ncloudchat.naverncp.com/archive/[archiveId]

メッセージ情報

  • Message Data Class

個別メッセージ情報

個別メッセージに関する情報を取得できます。

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

  • Options

未読メッセージ

未読メッセージ数をリターンします。最初に 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]);

メッセージ削除

当該チャンネル内に自分が送ったメッセージを削除できます。

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

Last updated