Reminder: By Aug 31, 2025, all new apps and updates to existing apps must use Billing Library version 7 or newer. If you need more time to update your app, you can request an extension until Nov 1, 2025. Learn about Play Billing Library version deprecation.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thư viện Play Billing sẽ trả về phản hồi BillingResult để cho phép bạn
biết kết quả của một hành động đã được kích hoạt. Để biết thêm
hãy xem phần xử lý mã phản hồi BillingResult. Trước khi
triển khai ứng dụng của bạn vào môi trường sản xuất, bạn có thể thử nghiệm các
phản hồi bằng cách sử dụng Trình mô phỏng phản hồi.
Trình mô phỏng phản hồi
Khi tích hợp ứng dụng với Thư viện Play Billing, bạn có thể gặp khó khăn khi kiểm thử tất cả luồng BillingResponseCode vì bạn không có nhiều quyền kiểm soát đối với hoạt động giao tiếp giữa Cửa hàng Play và phần phụ trợ của Play.
Tính năng Trình mô phỏng phản hồi trong ứng dụng Play Billing Lab giúp bạn
định cấu hình phản hồi mã lỗi cho Thư viện Play Billing nhằm kiểm thử nhiều cấu trúc phức tạp
tình huống lỗi.
Bật tính năng kiểm thử ghi đè thông tin thanh toán cho Thư viện Play Billing
Để bật tính năng giao tiếp giữa Trình mô phỏng phản hồi và ứng dụng, bạn phải bật tính năng kiểm thử ghi đè thanh toán cho Thư viện Play Billing từ trong ứng dụng. Để thực hiện việc này, hãy thêm các thẻ siêu dữ liệu sau vào tệp AndroidManifest.xml của ứng dụng.
Khi triển khai ứng dụng sang môi trường phát hành công khai, bạn nên:
hãy sử dụng một tệp AndroidManifest.xml riêng không bao gồm
hoặc đảm bảo rằng bạn đã xoá các thẻ này khỏi
Tệp AndroidManifest.xml.
Mô phỏng các lỗi trong Thư viện Play Billing
Để mô phỏng lỗi trong Thư viện Play Billing, trước tiên, hãy định cấu hình các mã phản hồi
trong ứng dụng Play Billing Lab rồi kiểm thử ứng dụng của bạn.
Định cấu hình mã phản hồi
Trong ứng dụng Play Billing Lab, hãy đăng nhập bằng tài khoản người kiểm thử giấy phép cho ứng dụng của bạn. Thao tác này sẽ hiển thị Trang tổng quan của Play Billing Lab, bao gồm cả thẻ Trình mô phỏng phản hồi.
Hình 1. Thẻ Trình mô phỏng phản hồi.
Nhấp vào Quản lý trên thẻ Trình mô phỏng phản hồi.
Thao tác này sẽ hiển thị màn hình Trình mô phỏng phản hồi.
Khi được nhắc, hãy cho phép thông báo của Play Billing Lab để xem trạng thái kết nối của ứng dụng.
Bật nút chuyển Mô phỏng phản hồi của Thư viện Play Billing nếu chưa bật nút này
đã được bật.
Hình 2. Mô phỏng nút chuyển phản hồi của Thư viện Play Billing.
Chọn mã phản hồi cho các API Thư viện Play Billing mà bạn muốn kiểm thử.
Các lựa chọn của bạn sẽ tự động được lưu và Trình mô phỏng phản hồi sẵn sàng gửi các mã phản hồi đã chọn đến ứng dụng của bạn.
Kiểm thử khả năng xử lý lỗi của ứng dụng
Mở ứng dụng.
Nếu đã cho phép thông báo của Play Billing Lab, thì bạn sẽ thấy biểu tượng thông báo của Play Billing Lab trên thanh trạng thái của thiết bị. Biểu tượng này cho biết đã kết nối thành công với Trình mô phỏng phản hồi.
Hình 3. Biểu tượng Phòng thí nghiệm Play Billing cho biết đã kết nối thành công.
Kích hoạt phương thức API Thư viện Play Billing mà bạn muốn kiểm thử. Ví dụ: nếu bạn muốn kiểm thử launchBillingFlow, hãy bắt đầu quy trình mua hàng trong ứng dụng.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Test BillingResult response codes\n\nThe Play Billing Library returns a [`BillingResult`](/reference/com/android/billingclient/api/BillingResult) response to let you\nknow the outcome of an action that was triggered. For more\ninformation, see [handling `BillingResult` response codes](/google/play/billing/errors). Before you\ndeploy your app to the production environment, you can test your app's various\nresponse flows by using the Response Simulator.\n\nResponse Simulator\n------------------\n\nWhen you integrate your app with the Play Billing Library, it can be difficult\nto test all of the [`BillingResponseCode`](/reference/com/android/billingclient/api/BillingClient.BillingResponseCode) flows, because you don't have much\ncontrol over the communication between the Play Store and Play's backend.\nThe Response Simulator feature in the [Play Billing Lab](https://play.google.com/store/apps/details?id=com.google.android.apps.play.billingtestcompanion) app lets you\nconfigure error code responses for the Play Billing Library to test various complex\nerror scenarios.\n\n### Enable billing overrides testing for the Play Billing Library\n\n| **Note:** Before testing, ensure that your app is using [Play Billing Library](/google/play/billing/integrate#dependency) version 7.1.1 or later.\n\nTo enable communication between the Response Simulator and your app,\nyou must enable billing overrides testing for the Play Billing Library\nfrom within your app. To do this, add the following metadata tags to your app's\n`AndroidManifest.xml` file. \n\n```scdoc\n\u003cmanifest ... \u003e\n \u003capplication ... \u003e\n ...\n \u003cmeta-data\n android:name=\"com.google.android.play.largest_release_audience.NONPRODUCTION\"\n android:value=\"\" /\u003e\n \u003cmeta-data\n android:name=\"com.google.android.play.billingclient.enableBillingOverridesTesting\"\n android:value=\"true\" /\u003e\n \u003c/application\u003e\n\u003c/manifest\u003e\n```\n| **Note:** Even though adding only the `enableBillingOverridesTesting` tag and setting it to `true` is sufficient to enable billing overrides testing for your app, it's recommended that you also add the `NONPRODUCTION` tag. The `NONPRODUCTION` tag prevents accidental deployment of your app to the production environment with billing overrides testing enabled.\n\nWhen you deploy your app to the production environment, you should either\nuse a separate `AndroidManifest.xml` file that doesn't include these\nmetadata tags or ensure that you've removed these tags from the\n`AndroidManifest.xml` file.\n\n### Simulate Play Billing Library errors\n\nTo simulate Play Billing Library errors, first, configure the response codes\nin the [Play Billing Lab](https://play.google.com/store/apps/details?id=com.google.android.apps.play.billingtestcompanion) app, and then test your app.\n\n#### Configure a response code\n\n1. In the Play Billing Lab app, sign in with a [license tester](/google/play/billing/test#license-testers) account for your app.\n This displays the Play Billing Lab **Dashboard** including\n the **Response Simulator** card.\n\n **Figure 1.** Response Simulator card.\n2. Click **Manage** on the Response Simulator card.\n This shows the **Response Simulator** screen.\n\n3. When prompted, allow notifications from Play Billing Lab to see the connection status of your app.\n\n4. Enable the **Simulate Play Billing Library responses** switch, if it isn't\n already enabled.\n\n **Figure 2.** Simulate Play Billing Library responses switch.\n5. Select a response code for the Play Billing Library APIs that you want\n to test.\n Your selections are automatically saved, and the Response Simulator\n is ready to send the selected response codes to your app.\n\n#### Test your app's error handling\n\n| **Note:** When testing using the Response Simulator, ensure that you first open Play Billing Lab, and then open your app. Opening your app before opening Play Billing Lab may result in issues connecting to the Response Simulator.\n\n1. Open your app.\n\n - If you have allowed notifications from Play Billing Lab, you will see the Play Billing Lab notification icon in your device's status bar which indicates a successful connection to the Response Simulator.\n\n **Figure 3.** Play Billing Lab icon indicating successful connection.\n2. Trigger the Play Billing Library API method you want to test. For example,\n if you want to test the `launchBillingFlow`, initiate an in-app purchase\n flow."]]