テスト
k-ID統合をテストすることは、公開前に正しく動作することを確保するために不可欠です。このガイドでは、k-IDプラットフォームで利用可能なテスト戦略とツールについて説明します。
テストモードとライブモード
k-IDは、テストと本番環境の2つの環境を提供します:
テストモード

テストモードにより、開発者は実際のデータや本番システムに影響を与えることなく統合をテストできます。テストモードAPIキーを使用する場合、リクエストはhttps://game-api.test.k-id.comのテスト環境に送信されます。この環境は、ライブシステムをシミュレートするように設計されていますが、モックデータで動作します。
テストモードの チャレンジURL(/age-gate/check、/session/upgrade、/challenge/send-email などから返されるURL)は、ライブモードの 2週間 ではなく 7分 で意図的に期限切れになります。短い有効期間により、待たずに期限切れURLの処理を試すことができます。詳しくは チャレンジURLとメールリンクの有効期限 を参照してください。AgeKit+ の年齢確認URLは、モードに関係なく常に 2週間 有効です(確認URLの有効期間 を参照)。
ライブモード

ライブモードは本番環境で使用されます。ライブモードAPIキーを使用する場合、リクエストはhttps://game-api.k-id.comの本番環境に送信されます。この環境は実際のデータを処理し、ライブシステムと対話します。
注意: 本番データに意図しない影響を与えないように、意図したモードに正しいAPIキーとエンドポイントを使用していることを常に確認してください。
モックプロバイダと実プロバイダ
プロダクトがテストモードで動作している場合、Family Connectウィジェットには、内蔵シミュレータ(Mock Providers)と各方式の実サンドボックス(Real Providers)を切り替えるスイッチを備えたTEST MODEツールバーが表示されます。ツールバーのコントロール、シミュレータ画面、方式ごとに対応するプリセット、モック送信の処理方法など、挙動の詳細は確認方法:モックプロバイダと実プロバイダを参照してください。
インタラクティブAPIリファレンスでのテスト
k-ID APIを呼び出すコードを書く前に、ドキュメントに組み込まれているインタラクティブAPIリファレンスを使用してエンドポイントを直接テストできます。
APIテストの設定
-
APIリファレンスの任意のエンドポイントページに移動します。たとえば、
/age-gate/checkエンドポイントです。 -
環境を確認: リクエストパネル上部の Server URL 行は初期状態でテストモード(
https://game-api.test.k-id.com/api/v1)になっており、ここではそのままで問題ありません。変更するには行の右端の編集アイコンを使用します。 -
リクエストを認証: ナビゲーションバーの Sign in ボタンからサインインし、Authorization セクションの Use a product's test key ドロップダウンでプロダクトを選択すると、そのテストキーが自動的に入力されます。サインインしない場合は、
Authorization (Header)フィールドにテストキーを自分で貼り付けてください。キーはCompliance Studioのプロダクトの Developer Settings ページで生成できます。 -
リクエスト本文を設定: Body セクションを開き、必要に応じてフィールドを編集します。テストには以下を使用します:
{ "jurisdiction": "US-CA", "dateOfBirth": "2005-04-15" }Open JSON Editor を使えば、フォームに入力する代わりにこのまま貼り付けられます。
-
リクエストを送信: Send をクリックしてAPI呼び出しを完了します。
-
レスポンスを表示: レスポンスはステータスコードとボディとともにリクエストパネルの上部に表示されます。
これで、k-IDへの呼び出しが正常に完了しました!インタラクティブリファレンスの使用に関する詳細については、インタラクティブリファレンスガイドを参照してください。
信頼できる大人の同意のテスト
Family Connectでの親エクスペリエンスを確認するには、同意チャレンジを作成する必要があります。そのためには、インタラクティブリファレンスを使用して/age-gate/checkに別の呼び出しを行います。今回は、米国管轄区域でデジタル同意年齢未満の子供の年齢を使用します。
以下を使用します:
{
"jurisdiction": "US-CA",
"dateOfBirth": "2015-04-15"
}これにより、次のようなレスポンスが返されます:
{
"challenge": {
"challengeId": "<guid>",
"childLiteAccessEnabled": false,
"oneTimePassword": "<one time password>",
"type": "CHALLENGE_PARENTAL_CONSENT",
"url": "https://family.k-id.com/authorize?otp=<one time password>"
},
"status": "CHALLENGE"
}その後、ブラウザでurlフィールドのURLに移動できます。メールアドレスの入力を求められ、Family Connectへのリンクが含まれたメールを受信します。そこで、ゲームへの同意を付与できます。ブラウザで同意フローを完了したら、以前に提供されたchallengeIdフィールドでchallenge/get-status APIを呼び出すことができます。レスポンスは次のとおりです:
{
"approverEmail": "email@example.com",
"sessionId": "<guid>",
"status": "PASS"
}これで、k-ID Sessionが正常に作成されました!/session/getにsessionIdフィールドをパラメータとして提供することで、それを確認できます。
{
"ageStatus": "DIGITAL_MINOR",
"dateOfBirth": "2015-04-15",
"etag": "<guid>",
"jurisdiction": "US",
"permissions": [],
"sessionId": "<guid>",
"kuid": "<guid>",
"status": "ACTIVE"
}