メインコンテンツに移動

アーキテクチャの考慮事項

ゲームの信頼性とキャッシュServer->Server すべてのk-ID API呼び出しには、有効なk-ID APIキーを含むAuthorizationヘッダーが必要です。k-ID APIキーが外部に露出しないよう、k-ID APIはサーバー間で呼び出されることが期待されています。

ゲームの信頼性とキャッシュ

k-ID APIは高い可用性を備えています。しかし、ゲームがk-ID APIをサーバー間で呼び出す際には、信頼性とフォールトトレランス(例:サーキットブレーカー)に関する一般的なパターンを実装することを推奨します。すべてのプレイヤーに「セッション」が必要なため、新規および既存のプレイヤーが、万が一k-IDサービスに問題が発生した場合でもブロックされないように、ゲームは対策を講じる必要があります。

キャッシュされたセッション

「セッション」はローカルまたはクラウドストレージにキャッシュされ、プレイヤーのアカウントに関連付けることができます。k-IDセッションは、親が許可を更新した場合や、子供やティーンが次の年齢カテゴリーに「成長」した場合、または親やプレイヤーによって削除された場合にのみ変更されます。ゲームが再起動するたびに/session/get APIを使用してセッションを更新することが推奨されますが、これは明確に要求されているわけではありません。また、k-ID Webhookを使用して/session/getの代わりにセッション情報の更新を取得する方法もあります。k-ID APIに問題が発生した場合、更新は後で延期することも可能です。キャッシュされたセッションは、問題が解決されるまでk-ID APIに接続せずに権限を管理するために使用できます。

k-IDセッションとプレイヤーのアイデンティティ

k-IDの「セッション」は、プレイヤーのIDと強く関連していると考えることができます。ゲームがIDシステムを使用している場合、セッション自体はプレイヤーのアカウントに関連付けられたストレージに、JSONドキュメントとして完全に保存することができます。

Session.ChangePermissions およぴ Session.Delete のWebhooks

k-IDデベロッパーポータルでは、k-IDからのイベントを受け取るためにWebhookを登録することができます。これにより、k-IDセッションの稀な変更を取得するために/session/getを呼び出す必要がなくなります。

デフォルトセッション

新しいプレイヤーに対して、各管轄地域ごとのデフォルトの権限をゲームサーバーにキャッシュしておくことが可能です。これにより、k-ID サービスに問題が発生した場合でも、新しいプレイヤーに対して適切なデフォルト設定を提供できます。/age-gate/get-default-permissions API は、管轄地域ごとのデフォルト権限を返します。デフォルトの権限には、特定のゲーム用に設定されたすべての設定が含まれており、保護者によって管理されていないため、フォールバックとして機能します。キャッシュされたデフォルトの k-ID 権限は、他のチャネル(例: リモート設定)を通じてゲームに配信することもできます。

顔年齢推定のダウンロードサイズ

k-IDの顔年齢推定は、Webビューや外部ブラウザウィンドウで使用できるiframe内に表示されます。このiframeは、年齢推定を実行するためのCDNからのアセットを参照しており、サポートするJavaScriptライブラリや機械学習モデルの重みを含んでいます。これらのアセットの合計サイズは約8メガバイトです。アプリ内でk-IDを展開する際にダウンロードサイズを減らすために、サポートライブラリやモデルの重みをアプリのバイナリにバンドルし、デバイスからローカルで提供することで、ダウンロードを回避することができます。