Unity SDK

Game Chat Unity SDKの使い方について説明します。

システム要件

Game Chat Unity SDKを使用するためのシステム要件は、以下のとおりです。

  • 最小スペック: 2018.4.0以上 (下位バージョンの Unityへの対応が必要な場合、[email protected] までご連絡ください。)

  • 2019.4.X / 2020.3.X / 2021.1.Xバージョンの Unityエディタのユーザーは、2019.4.29f1以上 / 2020.3.15f2以上 / 2021.1.16f1以上のバージョンを使用します(AABバージョンビルド時の Unityエディタのバグが変更されたバージョン)

SDKのインストールと環境の構成

Game Chat Unity SDKをダウンロードして、Unityでプロジェクトを構成する方法は以下のとおりです。

  1. 設定 > SDKのダウンロードメニューを順にクリックし、Unity SDKのダウンロードをクリックします。

  2. Unityプログラムを実行し、プロジェクトを作成します。

  3. Unityで、Assets > Import Package > Custom Package...メニューを順にクリックします。

  4. ダッシュボードでダウンロードした「GameChatUnitySDK_xxxxxxxx」ファイルを読み込みます。

  5. パッケージにあるすべてのファイルを選択し、 [Import] ボタンをクリックします。

  6. プロジェクトを保存します。

認証

Game Chatインスタンスの初期化

Game Chatプロジェクト IDを用いて Game Chatインスタンスを初期化するには、以下のコードを使用します。

ID
type
desc

PROJECT_ID

string

プロジェクト ID

Game Chatソケットサーバとの接続

Game Chatソケットサーバに接続する方法は以下のとおりです。

  1. チャットユーザー IDを用いてGame Chatソケットサーバにアクセスします。

    • Game Chatプロジェクトでチャットユーザー IDは固有の値です。

  2. APIを使用するためのトークンの値を取得します。

    • GameChat.connect以降に更新されたトークンの値を確認できます。

  3. トークンの値を取得した後、現在アクセス中のデバイスに対するチャットユーザー情報が更新されたのか確認します。

    • GameChat.connectのコールバックで渡される Memberは、更新されたデータです。

Game Chatソケットサーバに接続するには、以下のコードを使用します。

ID
type
desc

USER_ID

string

チャットユーザーの固有 ID

Game Chatサーバとの接続解除

Game Chatソケットサーバとの接続を解除するには、以下のコードを使用します。

チャットユーザー情報のアップデート

connect成功後にチャットユーザー情報を保存してアップデートするには、以下のコードを使用します。

ハンドルネームの変更

ID
type
desc

USER_ID

string

チャットユーザーの固有 ID

NickName

string

チャットユーザーのハンドルネーム

Profile URLの変更

ID
type
desc

USER_ID

string

チャットユーザーの固有 ID

ProfileUrl

string

チャットユーザーの ProfileURL

チャンネルの購読と購読解除

特定のチャンネルに対して購読または購読解除を行うには、以下のコードを使用します。

ID
type
desc

CHANNEL_ID

string

チャンネル ID

メッセージの送信

特定のチャンネルにメッセージを送信するには、以下のコードを使用します。

ID
type
desc

CHANNEL_ID

string

チャンネル ID

MESSAGE

string

送信メッセージテキスト

MESSAGEパラメータに@[ユーザー ID]空白[メッセージ内容]を入力時

上記のケースでユーザー IDがログインした履歴がある場合、メッセージの詳細情報のうち、mentions情報はユーザー IDです。

イベントの登録と解除

Game Chatソケットサーバから受信するイベントに対し、カスタムハンドラを登録または解除するには、以下のコードを使用します。

例外事項

Game Chat APIの使用中に発生する Exceptionに対する共通処理 Classは、以下のとおりです。

Client API

チャンネルの購読

Subscription Data Class (per Unit)

ID
type
desc

id

string

固有 ID

channel_id

string

チャンネル ID

user_id

string

チャットユーザーの固有 ID

created_at

string

作成日時

チャンネル購読リストを取得する

特定のチャンネルの購読データをリスト形式で取得するには、以下のコードを使用します。

チャンネル

Channel Data Class (per Unit)

ID
type
desc

id

string

チャンネル ID(固有)

project_id

string

プロジェクト ID

unique_id

string

開発会社で設定できるチャンネル ID(固有)

name

string

チャンネル名

user_id

string

(チャンネルを作成した)チャットユーザー ID

created_at

string

作成日時

updated_at

string

更新日

チャンネルリストを取得する

プロジェクトのチャンネルデータをリスト形式で取得するには、以下のコードを使用します。

ID
type
desc

OFFSET

int

全体チャンネルリストから取得するチャンネルの開始位置(index)

LIMIT

int

取得するチャンネル数

チャンネルデータを取得する

チャンネル IDや固有 IDを用いてチャンネルデータを取得するには、以下のコードを使用します。

ID
type
desc

CHANNEL_ID

string

チャンネル ID(自動作成)

CHANNEL_UNIQUE_ID

string

チャンネル(固有)ID(カスタマイズ可能)

チャンネルの作成と削除

プロジェクト内で新しいチャンネルを作成または削除するには、Open APIを活用します。 セキュリティ問題のため、チャンネル作成やアップデートなどは、Open APIを活用して Server to Serverで直接行うことをお勧めします。 詳細は、Game Chat APIガイドをご参照ください。

メッセージ

(Received) Message Data Class (per Unit)

ID
type
desc

message_id

string

メッセージの固有 ID

channel_id

string

チャンネル ID

message_type

string

メッセージタイプ

content

string

メッセージの内容(JSON文字列)

mentions

string

メンション(タグ)

created_at

string

メッセージリストを取得する

特定のチャンネルに対するメッセージデータをリスト形式で取得するには、以下のコードを使用します。

ID
type
desc

CHANNEL_ID

string

チャンネル ID

OFFSET

string

全体メッセージリストから取得するメッセージの開始位置

LIMIT

string

取得するメッセージ数

SEARCH

string

メッセージ検索基準キー。 <例> content.text 空の文字列を伝達する場合、全体検索

QUERY

string

メッセージ検索の値。 完全一致のみ検索可能。 空の文字列を伝達する場合、全体検索

SORT

string

メッセージのソート順序(デフォルト: 降順 - 最新順) (オプション: 昇順)

メッセージの翻訳

自動翻訳機能が有効化されている場合、任意のテキストを指定した言語に翻訳できます。 自動翻訳機能は、Papago Translationサービスと連携すると使用できます。

(Received) Translation Data Class (per Unit)

ID
type
desc

detectLang

string

ソース言語コード

lang

string

ターゲット言語コード

translated

bool

翻訳の成否

message

string

結果メッセージの内容(JSON文字列)

参考

ソース言語コードとターゲット言語コードについての説明は、Papago Text Translation APIガイドをご参照ください。

ID
type
desc

CHANNEL_ID

string

チャンネル ID

SORCE_LANG

string

(送信する)テキストの言語名(auto: 自動検出) API Guideを参考

TARTGET_LANG

string

(翻訳受信する)テキストの言語コード (","で区切って、複数入力可能。 <例> "en, fr, th") Papago Text Translation APIガイドを参考

TEXT

string

送信するテキスト

チャットユーザー

(Received) Member Data Class (per Unit)

ID
type
desc

id

string

チャットユーザーの固有 ID

project_id

string

ログインした Game Chatプロジェクト ID

nickname

string

チャットユーザーのハンドルネーム

profile_url

string

プロフィール画像 URL

country

string

アクセスした国

remoteip

string

アクセス IPアドレス

adid

string

広告識別子

device

string

アクセスデバイスの環境

network

string

アクセスネットワークのタイプ (セルラー、Wi-Fi)

version

string

アクセスアプリのバージョン

model

string

アクセスデバイスのモデル

logined_at

string

ログインした日

created_at

string

チャットユーザーの作成日時

updated_at

string

チャットユーザー情報の更新日

チャットユーザー情報のアップデート

チャットサーバのユーザー情報をアップデートできます。

ID
type
desc

MEMBER_ID

string

チャットユーザーの固有 ID

NAME

string

チャットユーザーのハンドルネームまたは名前

PROFILE

string

プロフィール画像 URL

受信メッセージに含まれた絵文字とハイパーリンクテキストを扱いやすいようにサポートするヘルパークラスです。

  • TMP_GameChatTextUGUIは、Unityビルトインアセットの TextMeshProを拡張したクラスであるため、先に Package Managerを用いて TextMeshProをインストールする必要があります。

  • TextMeshProアセットの場合、Unity 2018.2以上のバージョンからビルトインアセットとして含まれます。

  • 絵文字スプライトシートの場合、絵文字バージョン13(Android)を基準に基本的に表示され、スプライトシートを変更してカスタマイズできます。

<例>

Last updated