コアコンセプト

テスト

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

テストモードとライブモード

k-IDは、テストと本番環境の2つの環境を提供します:

テストモード

Test Mode

テストモードにより、開発者は実際のデータや本番システムに影響を与えることなく統合をテストできます。テストモード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の有効期間 を参照)。

ライブモード

Live Mode

ライブモードは本番環境で使用されます。ライブモードAPIキーを使用する場合、リクエストはhttps://game-api.k-id.comの本番環境に送信されます。この環境は実際のデータを処理し、ライブシステムと対話します。

注意: 本番データに意図しない影響を与えないように、意図したモードに正しいAPIキーとエンドポイントを使用していることを常に確認してください。

モックプロバイダと実プロバイダ

プロダクトがテストモードで動作している場合、Family Connectウィジェットには、内蔵シミュレータ(Mock Providers)と各方式の実サンドボックス(Real Providers)を切り替えるスイッチを備えたTEST MODEツールバーが表示されます。ツールバーのコントロール、シミュレータ画面、方式ごとに対応するプリセット、モック送信の処理方法など、挙動の詳細は確認方法:モックプロバイダと実プロバイダを参照してください。

インタラクティブAPIリファレンスでのテスト

k-ID APIを呼び出すコードを書く前に、ドキュメントに組み込まれているインタラクティブAPIリファレンスを使用してエンドポイントを直接テストできます。

APIテストの設定

  1. APIリファレンスの任意のエンドポイントページに移動します。たとえば、/age-gate/checkエンドポイントです。

  2. 環境を確認: リクエストパネル上部の Server URL 行は初期状態でテストモード(https://game-api.test.k-id.com/api/v1)になっており、ここではそのままで問題ありません。変更するには行の右端の編集アイコンを使用します。

  3. リクエストを認証: ナビゲーションバーの Sign in ボタンからサインインし、Authorization セクションの Use a product's test key ドロップダウンでプロダクトを選択すると、そのテストキーが自動的に入力されます。サインインしない場合は、Authorization (Header) フィールドにテストキーを自分で貼り付けてください。キーはCompliance Studioのプロダクトの Developer Settings ページで生成できます。

  4. リクエスト本文を設定: Body セクションを開き、必要に応じてフィールドを編集します。テストには以下を使用します:

    {
        "jurisdiction": "US-CA",
        "dateOfBirth": "2005-04-15"
    }

    Open JSON Editor を使えば、フォームに入力する代わりにこのまま貼り付けられます。

  5. リクエストを送信: Send をクリックしてAPI呼び出しを完了します。

  6. レスポンスを表示: レスポンスはステータスコードとボディとともにリクエストパネルの上部に表示されます。

これで、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"
}

On this page