Reminder: By Aug 31, 2024, all new apps and updates to existing apps must use Billing Library version 6 or newer. If you need more time to update your app, you will be able to request an extension until Nov 1, 2024.
Learn more .
Test BillingResult 响应代码
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Play 结算库会返回 BillingResult
响应,以便您了解触发的操作的结果。如需了解详情,请参阅处理 BillingResult
响应代码 。在将应用部署到生产环境之前,您可以使用响应模拟器测试应用的各种响应流程。
响应模拟器
将您的应用与 Play 结算库集成时
测试所有 BillingResponseCode
流程,因为您没有太多资源的
控制 Play 商店与 Play 后端之间的通信。
借助 Play 结算实验室 应用中的响应模拟器功能,您可以为 Play 结算库配置错误代码响应,以测试各种复杂的错误场景。
为 Play 结算库启用结算替换测试
注意 :测试之前,请确保您的应用使用的是
Play 结算库 7.1.0 或更高版本。
如需启用响应模拟器与您的应用之间的通信,请执行以下操作:
您必须为 Play 结算库启用结算替换测试
为此,请将以下元数据标记添加到您应用的
AndroidManifest.xml
文件。
<manifest ... >
<application ... >
...
<meta-data
android:name="com.google.android.play.largest_release_audience.NONPRODUCTION"
android:value="" />
<meta-data
android:name="com.google.android.play.billingclient.enableBillingOverridesTesting"
android:value="true" />
</application>
</manifest>
注意: 即使只添加 enableBillingOverridesTesting
标记并将其设置为 true
即可为应用启用结算替换项测试,但建议您也添加 NONPRODUCTION
标记。NONPRODUCTION
标记可防止在启用结算替换项测试的情况下,应用意外部署到生产环境。
将应用部署到生产环境时,您应该:
请使用单独的 AndroidManifest.xml
文件,其中不包含这些元素
或确保您已将这些标签从
AndroidManifest.xml
文件。
模拟 Play 结算库错误
如需模拟 Play 结算库错误,请先配置响应代码
(在 Play 结算服务实验室 应用中),然后测试您的应用。
在 Play 结算服务实验室应用中,使用您应用的许可测试人员 账号登录。
系统会显示 Play 结算服务实验室信息中心 ,其中包括
响应模拟器 卡片。
图 1. “响应模拟器”卡片。
点击“响应模拟器”卡片上的管理 。
此时会显示响应模拟器 屏幕。
出现提示时,允许 Play 结算服务实验室发送通知,以了解应用的连接状态。
启用模拟 Play 结算库响应 开关(如果尚未启用)。
图 2. 模拟 Play 结算库响应开关。
为所需的 Play 结算库 API 选择响应代码
进行测试。
系统会自动保存您的选择,并且响应模拟器随时可以将所选的响应代码发送到您的应用。
测试应用的错误处理情况
注意 :使用响应模拟器进行测试时,请务必先打开
Play 结算服务实验室,然后打开您的应用。先打开应用再打开
Play 结算实验室可能会导致连接到响应模拟器时出现问题。
打开您的应用。
如果您已允许 Play 结算服务实验室发送通知,则会在设备的状态栏中看到 Play 结算服务实验室通知图标,这表示已成功连接到响应模拟器。
图 3. 表示连接成功的 Play 结算服务实验室图标。
触发您要测试的 Play 结算库 API 方法。例如,如果您想测试 launchBillingFlow
,请发起应用内购买流程。
本页面上的内容和代码示例受内容许可 部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-09-21。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-09-21\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-09-21。"]]