Lingara の埋め込み
このページは英語から翻訳されています。内容に相違がある場合は、英語のページが正しい内容です。 英語のページを読む
Lingara は、あなたのゲームやウェブサイトの中で動作できます。あなたの世界のキャラクターがプレイヤーのレベルに合わせて会話でき、プレイヤーが終えた練習は Lingara の練習として記録されます。埋め込みは 2 つの部分から成り、最初に決めるべきことは、どちらの部分をどこで動かすかです。
誰が何を保持するか
あなたのサーバーは、OAuth クライアントのシークレットと Webhook の署名シークレットを保持します。どちらもサーバーの外に出ることはありません。
プレイヤーのデバイスが保持するのは 1 つだけです。lgr_et_ で始まる埋め込みトークンです。ゲームのバイナリやウェブページに含めて配布するものはすべて公開されるため、デバイスがクライアントシークレット、Webhook シークレット、あなた自身のクライアントのアクセストークンを保持することはありません。埋め込みトークンは 1 人のプレイヤーのためだけに機能し、有効期間は数時間ではなく数分で、あなたのサーバーが与えたスコープだけを持ちます。
プレイヤーに Lingara アカウントは必要ありません。あなたのサーバーがあるプレイヤーのために最初に発行したトークンが、そのプレイヤーのゲスト学習者を作成し、以降のトークンはすべて同じ学習者に届きます。すでに Lingara アカウントを持っているプレイヤーは、それを持ち込むことができます。あなたのサーバーが両者をリンクする方法は サーバーキット のページで説明しています。
トークンがプレイヤーに届くまで
- ゲーム内やページ上のプレイヤーキットは、トークンが必要になると、トークンソースを通じてあなたのサーバーに要求します。
- あなたのサーバーはそのプレイヤーについて自分のセッションを確認し、サーバーキットでそのプレイヤーのトークンを発行します。
- あなたのサーバーは、トークンとその有効期限という 2 つのフィールドとして、自分のセッションを通じてトークンを返します。URL に含めることは決してありません。
- プレイヤーキットは有効期限が近づくまでトークンを使い、その後もう一度あなたのサーバーに要求します。Lingara がトークンを更新することはありません。
player's device your server Lingara
─────────────── ─────────── ───────
player kit ── needs a token ──▶ your token route
server kit ── mint ─────────▶ token for one player
player kit ◀── token, expiry ── your token route ◀──────────
player kit ── API calls with the token ─────────────────────▶
ウェブサイト用のトークンは 1 つのオリジン、つまりページ自身のスキーム、ホスト、ポートに結び付けられます。サーバーキット のページで説明しているとおり、ウィジェットが動作するすべてのオリジンを、そのオリジン向けにトークンを発行する前に登録してください。ゲーム用のトークンにはオリジンがありません。
トークンでできること
あなたのサーバーは、トークンを発行するときに、次の 5 つから各トークンのスコープを選びます:events:read、events:write、lesson_plans:read、lesson_plans:write、embed:play。トークンが持てるのは、あなた自身のクライアントがすでに持っているスコープだけです。embed:play により、プレイヤーはあなたのキャラクターと会話し、終えた練習を報告できます。
誰が支払うか
トークンを発行できるのは従量課金プランのクライアントだけです。プレイヤーがトークンで行うことはすべてあなたのクライアントの利用量として計上され、プレイヤーではなくあなたに請求されます。
プレイヤーの削除
プレイヤーがあなたのゲームでアカウントを削除したら、あなたのサーバーは Lingara でもそのプレイヤーを削除します。これにより、その学習者と、Lingara がそのプレイヤーについて保持しているすべてが削除され、そのプレイヤーが持つすべてのトークンが取り消されます。
必要なキット
どの統合でも 2 つのキットを使います。あなたのサーバー上のサーバーキットと、プレイヤーがプレイする場所のプレイヤーキットです。
| 作るもの | あなたのサーバー | プレイヤーがプレイする場所 |
|---|---|---|
| Bevy のゲーム | サーバーキット | Bevy |
| Unity のゲーム | サーバーキット | Unity |
| Godot のゲーム | サーバーキット | Godot |
| Unreal のゲーム | サーバーキット | Unreal |
| JVM または Android のゲーム | サーバーキット | JVM と Android |
| ウェブサイト | サーバーキット | ウェブサイトウィジェット |
続いて、どのキットでも同じように動作する NPC との会話 と 練習の結果 をお読みください。
はじめに
- サーバーキット
あなた自身のサーバーから、プレイヤーのためにトークンを発行し、そのイベントをルーティングし、プレイヤーを削除します。
動作する場所
- Bevy
Bevy のゲームに Lingara プラグインを追加し、そのトークン要求に応え、イベントを Message として読み取ります。
- Unity
NuGetForUnity で Lingara.Embed をインストールし、サーバーからトークンを取得し、Update でイベントを取り出します。
- Godot
Godot 4 のゲームで、GDScript または C# から、あなた自身のサーバーのトークンを使って Lingara を利用します。
- Unreal
プレイヤーコアの C インターフェース上に構築された、Unreal Engine 5 向けの Lingara プラグイン。
- JVM と Android
Kotlin のプレイヤーキットとその Java ファサードを、デスクトップと Android で。libGDX を実例として取り上げます。
- ウェブサイトウィジェット
lingara-embed 要素をページにマウントし、あなた自身のサーバーからトークンを与えます。