核心概念

测试

测试您的 k-ID 集成对于确保在上线前正常工作至关重要。本指南涵盖 k-ID 平台中可用的测试策略和工具。

测试模式和生产模式

k-ID 提供两个用于测试和生产的环境:

测试模式

Test Mode

测试模式允许开发者在不影响真实数据或生产系统的情况下测试集成。使用测试模式 API 密钥时,请求会发送到 https://game-api.test.k-id.com 的测试环境。此环境旨在模拟生产系统,但使用模拟数据运行。

测试模式的挑战 URL(如 /age-gate/check、/session/upgrade 和 /challenge/send-email 返回的 URL)有意在 7 分钟 后过期,而不是生产模式的 2 周。短暂的有效期使您可以无需等待即可测试过期 URL 的处理。有关详细信息,请参阅挑战 URL 和电子邮件链接过期。AgeKit+ 年龄验证 URL 无论模式如何始终有效 2 周(请参阅验证 URL 有效性)。

生产模式

Live Mode

生产模式用于生产环境。使用生产模式 API 密钥时,请求会发送到 https://game-api.k-id.com 的生产环境。此环境处理真实数据并与线上系统交互。

注意:始终验证您正在为预期模式使用正确的 API 密钥和端点,以避免对生产数据的意外影响。

模拟和真实提供商

当产品以测试模式运行时,Family Connect 小部件会显示一个 TEST MODE 工具栏,带有在内置模拟器(Mock Providers)和各方法的真实沙箱(Real Providers)之间切换的开关。有关工具栏控件、模拟器屏幕、每种方法支持的预设,以及模拟提交的处理方式等完整行为,请参阅验证方法:模拟和真实提供商。

使用交互式 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!您可以通过将 sessionId 字段作为参数提供给 /session/get 来查看它。

{
    "ageStatus": "DIGITAL_MINOR",
    "dateOfBirth": "2015-04-15",
    "etag": "<guid>",
    "jurisdiction": "US",
    "permissions": [],
    "sessionId": "<guid>",
    "kuid": "<guid>",
    "status": "ACTIVE"
}

On this page