メインコンテンツに移動

アカウントシステム統合

一部のスタジオでは、複数のゲームにまたがる共通のアカウントシステムを持っています。このような状況では、年齢ゲートを統合し、検証可能な親の同意(VPC)をアカウント作成フローで直接処理することが望ましい場合が多く、プレイヤーは同じパブリッシャーのすべてのゲームに対して一度だけ年齢を尋ねられることになります。

このタイプの統合を行う際には、いくつかの重要な考慮事項があります:

VPCのためのプロダクトコンテキスト

すべてのゲームでプレイするためにアカウントが必要な場合、VPCはアカウント作成プロセスからトリガーできます。ただし、同意の要求はゲーム固有である必要があり、親が何に同意しているかを知ることができるようにする必要があります。k-ID APIは、VPCをトリガーする際に使用されるAPIキーに基づいて、同意プロセス中に親に提示されるプロダクトを決定します。

実際には、k-IDをアカウントシステムに統合する際、アカウント設定時にアカウント作成プロセスをトリガーしたゲームを決定し、それをk-ID APIキーにマッピングできる必要があります。

kuidを使用したk-IDセッションへのアクセス

k-IDは、何らかの形の親の同意を受けたすべてのプレイヤーのグローバル識別子であるkuid(k-IDユーザーID)を公開しています。kuidSessionオブジェクトのプロパティとして返されます。複数のゲームにまたがるアカウントシステムと統合する際、kuidSessionに存在する場合、アカウントシステム内のプレイヤーのアイデンティティと関連付ける必要があります。これにより、適切なプロダクトの適切なAPIキーを使用し、パラメータとしてkuidのみを提供して/session/getを呼び出すことで、任意のk-IDプロダクトのk-IDセッションが存在する場合に取得できるようになります。

親が子供に1つ以上のプロダクトをプレイすることを許可する場合、承認された各プロダクトの登録されたウェブフックエンドポイントがeventTypeChallenge.StateChangeに設定されて呼び出されます。各Sessionオブジェクトは、プレイヤーに対して同じkuidを持ちます。k-IDウェブフックの詳細については、Webhooksページをご覧ください。

複数プロダクトのセッションキャッシュ

セッションのキャッシュについては、アーキテクチャの考慮事項で説明されています。

アカウントシステムと統合する際、複数のプロダクトからのセッションがキャッシュされます。Sessionオブジェクトはすべて、k-IDプロダクトIDをキーとしてアカウントシステム内のマップとしてキャッシュできます。プレイヤーが新しいゲームをプレイしようとする際、Sessionオブジェクトを含むマップをプロダクトIDでクエリし、Sessionが既に存在する場合、プレイヤーは追加の親の同意なしで続行を許可されます。

アカウントレベルプロダクト

k-IDのアカウントシステム統合を設定する際、通常は各ゲームに対して1つのk-IDプロダクトを作成し、アカウントシステム自体に対して別のk-IDプロダクトを作成します。これは、すべてのゲームまたはアカウント自体に対して共通またはグローバルな権限と開示を表すのに役立ちます。

プロダクトがアカウントシステムにマッピングされている場合、これは各ゲームに対して、ゲームにマッピングされたk-IDプロダクト用とアカウントシステムにマッピングされたk-IDプロダクト用の2つのSessionオブジェクトが取得されることを意味します。k-ID APIはAPIキーによってプロダクトにスコープされます。アカウントシステムにマッピングされたk-IDプロダクトにアクセスしようとしているか、ゲームにアクセスしようとしているかに応じて、適切なAPIキーを使用する必要があります。