ユーザー
ユーザーモジュールは、現在ログイン済みプレイヤー
の情報と Token
を取得する機能を提供します。ゲームがログインなしで全機能を体験できる場合は本モジュールを使用する必要はありません。それ以外の場合は、本モジュールの関連インターフェースを呼び出して機能を実装してください。
JOGOS_SDK 概要
ページ内のお使いのゲームエンジンに該当する箇所をお読みになったうえで、以下のように機能を利用できます:
window.JOGOS_SDK.user;
当前ユーザー情報の取得
以下の方法で現在のプレイヤー情報を取得できます:
try {
const user = await window.JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// 例外処理
console.error(err);
}
プレイヤーが未登録または未ログインの場合、システムは自動的にログイン/登録ダイアログを開き、ユーザーに登録またはログインを要求します。完了しないとゲームを続行できず、401 未認証、再ログインしてください
例外が返されます。
アカウントが凍結または削除されている場合も、該当する例外情報が返されます。
成功時に返却されるプレイヤーオブジェクトの構造は以下の通りです:
// ユーザー情報
export interface UserInfo {
// ユーザー Id
userId: string;
// ユーザー名
username: string;
// プロフィール画像 URL
profilePictureUrl: string;
// ゲーム Id
gameId: number;
}
JOGOS_SDK
のユーザー名は 6–20 文字で、英数字、ピリオド、アンダースコアが利用可能です。
JOGOS_SDK の UserId はプレイヤーアカウントと 1 対 1 で対応しています。ゲーム内で複数キャラクターの作成やサーバー移動によるキャラクター切り替えが可能な場合、サーバー側で該当ロジックを実装し、キャラクターの消失や切り替え不可を防止してください。
ユーザートークンの取得(ゲームサーバーにて協力して接入)
- サーバーがある場合は必ず接入してください!
- ユーザートークンには現在ログイン中プレイヤーの関連情報が含まれます。トークンを自サーバーに送信し、検証/デコードして情報を抽出し、ゲームサーバーのユーザー体系と紐付けてください。処理中のユーザーデータセキュリティに十分注意してください。
クライアント側は以下の方法でユーザートークンを取得できます:
try {
const token = await window.JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// 例外処理
console.error(err);
}
トークンの有効期限は 1 時間です。トークンを保存せず、必要に応じて都度本メソッドを呼び出すことを推奨します。
プレイヤーが未登録/未ログインの場合、ログイン/登録ダイアログが自動的に開き、完了するまでゲームを続行できません。さもないと 401 未認証、再ログインしてください
例外が返されます。
アカウントが凍結/削除されている場合も該当する例外情報が返されます。
返却されたトークンは jwt.io にてデコード・テスト可能です。
成功時に返却されるトークン情報は以下の Json データを含みます:
{
"jti": "1899405772252258304",
"sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
"iss": "com:jogos:sdk",
"iat": 1741688600,
"exp": 1745288600
}
サーバーでリクエストの認証が必要な場合、トークンを自サーバーに送信し、そこでデコード・検証を行います。検証にはユーザートークン公開鍵 https://www.jogos.com/publicKey.json
をご利用ください。公開鍵は変更される可能性があるため、認証の度に取得することを推奨します。
次のステップ:サーバーにて認証
サーバー関連 API は サーバー接入インターフェース
ページをご参照ください。
ローカルテスト
ローカルテスト時、ユーザーモジュールの各インターフェースはモックデータを返します。