Unity SDK
Game Chat Unity SDKの使い方について説明します。
システム要件
Game Chat Unity SDKを使用するためのシステム要件は、以下のとおりです。
最小スペック: 2018.4.0以上 (下位バージョンの Unityへの対応が必要な場合、cs@nbase.io までご連絡ください。)
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でプロジェクトを構成する方法は以下のとおりです。
設定 > SDKのダウンロードメニューを順にクリックし、Unity SDKのダウンロードをクリックします。
Unityプログラムを実行し、プロジェクトを作成します。
Unityで、Assets > Import Package > Custom Package...メニューを順にクリックします。
ダッシュボードでダウンロードした「GameChatUnitySDK_xxxxxxxx」ファイルを読み込みます。
パッケージにあるすべてのファイルを選択し、 [Import] ボタンをクリックします。
プロジェクトを保存します。
認証
Game Chatインスタンスの初期化
Game Chatプロジェクト IDを用いて Game Chatインスタンスを初期化するには、以下のコードを使用します。
PROJECT_ID
string
プロジェクト ID
Game Chatソケットサーバとの接続
Game Chatソケットサーバに接続する方法は以下のとおりです。
チャットユーザー IDを用いてGame Chatソケットサーバにアクセスします。
Game Chatプロジェクトでチャットユーザー IDは固有の値です。
APIを使用するためのトークンの値を取得します。
GameChat.connect以降に更新されたトークンの値を確認できます。
トークンの値を取得した後、現在アクセス中のデバイスに対するチャットユーザー情報が更新されたのか確認します。
GameChat.connectのコールバックで渡される Memberは、更新されたデータです。
Game Chatソケットサーバに接続するには、以下のコードを使用します。
USER_ID
string
チャットユーザーの固有 ID
Game Chatサーバとの接続解除
Game Chatソケットサーバとの接続を解除するには、以下のコードを使用します。
チャットユーザー情報のアップデート
connect成功後にチャットユーザー情報を保存してアップデートするには、以下のコードを使用します。
ハンドルネームの変更
USER_ID
string
チャットユーザーの固有 ID
NickName
string
チャットユーザーのハンドルネーム
Profile URLの変更
USER_ID
string
チャットユーザーの固有 ID
ProfileUrl
string
チャットユーザーの ProfileURL
チャンネルの購読と購読解除
特定のチャンネルに対して購読または購読解除を行うには、以下のコードを使用します。
CHANNEL_ID
string
チャンネル ID
メッセージの送信
特定のチャンネルにメッセージを送信するには、以下のコードを使用します。
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
string
固有 ID
channel_id
string
チャンネル ID
user_id
string
チャットユーザーの固有 ID
created_at
string
作成日時
チャンネル購読リストを取得する
特定のチャンネルの購読データをリスト形式で取得するには、以下のコードを使用します。
チャンネル
Channel Data Class (per Unit)
id
string
チャンネル ID(固有)
project_id
string
プロジェクト ID
unique_id
string
開発会社で設定できるチャンネル ID(固有)
name
string
チャンネル名
user_id
string
(チャンネルを作成した)チャットユーザー ID
created_at
string
作成日時
updated_at
string
更新日
チャンネルリストを取得する
プロジェクトのチャンネルデータをリスト形式で取得するには、以下のコードを使用します。
OFFSET
int
全体チャンネルリストから取得するチャンネルの開始位置(index)
LIMIT
int
取得するチャンネル数
チャンネルデータを取得する
チャンネル IDや固有 IDを用いてチャンネルデータを取得するには、以下のコードを使用します。
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)
message_id
string
メッセージの固有 ID
channel_id
string
チャンネル ID
message_type
string
メッセージタイプ
content
string
メッセージの内容(JSON文字列)
mentions
string
メンション(タグ)
created_at
string
メッセージリストを取得する
特定のチャンネルに対するメッセージデータをリスト形式で取得するには、以下のコードを使用します。
CHANNEL_ID
string
チャンネル ID
OFFSET
string
全体メッセージリストから取得するメッセージの開始位置
LIMIT
string
取得するメッセージ数
SEARCH
string
メッセージ検索基準キー。 <例> content.text 空の文字列を伝達する場合、全体検索
QUERY
string
メッセージ検索の値。 完全一致のみ検索可能。 空の文字列を伝達する場合、全体検索
SORT
string
メッセージのソート順序(デフォルト: 降順 - 最新順) (オプション: 昇順)
メッセージの翻訳
自動翻訳機能が有効化されている場合、任意のテキストを指定した言語に翻訳できます。 自動翻訳機能は、Papago Translationサービスと連携すると使用できます。
(Received) Translation Data Class (per Unit)
detectLang
string
ソース言語コード
lang
string
ターゲット言語コード
translated
bool
翻訳の成否
message
string
結果メッセージの内容(JSON文字列)
参考
ソース言語コードとターゲット言語コードについての説明は、Papago Text Translation APIガイドをご参照ください。
CHANNEL_ID
string
チャンネル ID
TARTGET_LANG
string
(翻訳受信する)テキストの言語コード (","で区切って、複数入力可能。 <例> "en, fr, th") Papago Text Translation APIガイドを参考
TEXT
string
送信するテキスト
チャットユーザー
(Received) Member Data Class (per Unit)
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
チャットユーザー情報の更新日
チャットユーザー情報のアップデート
チャットサーバのユーザー情報をアップデートできます。
MEMBER_ID
string
チャットユーザーの固有 ID
NAME
string
チャットユーザーのハンドルネームまたは名前
PROFILE
string
プロフィール画像 URL
GameChatExtension (Emoji, HyperLink)
受信メッセージに含まれた絵文字とハイパーリンクテキストを扱いやすいようにサポートするヘルパークラスです。
TMP_GameChatTextUGUIは、Unityビルトインアセットの TextMeshProを拡張したクラスであるため、先に Package Managerを用いて TextMeshProをインストールする必要があります。
TextMeshProアセットの場合、Unity 2018.2以上のバージョンからビルトインアセットとして含まれます。
絵文字スプライトシートの場合、絵文字バージョン13(Android)を基準に基本的に表示され、スプライトシートを変更してカスタマイズできます。
<例>
Last updated