- Tài nguyên: SubscriptionOffer
- Trạng thái
- SubscriptionOfferPhase
- RegionalSubscriptionOfferPhaseConfig
- RegionalSubscriptionOfferPhaseFreePriceOverride
- OtherRegionsSubscriptionOfferPhaseConfig
- OtherRegionsSubscriptionOfferPhasePrices
- OtherRegionsSubscriptionOfferPhaseFreePriceOverride
- SubscriptionOfferTargeting
- AcquisitionTargetingRule
- TargetingRuleScope
- TargetingRuleScopeThisSubscription
- TargetingRuleScopeAnySubscriptionInApp
- UpgradeTargetingRule
- RegionalSubscriptionOfferConfig
- OtherRegionsSubscriptionOfferConfig
- Phương thức
Tài nguyên: SubscriptionOffer
Một ưu đãi tạm thời duy nhất
| Biểu diễn dưới dạng JSON |
|---|
{ "packageName": string, "productId": string, "basePlanId": string, "offerId": string, "state": enum ( |
| Trường | |
|---|---|
packageName |
Bắt buộc. Không thể thay đổi. Tên gói của ứng dụng mà gói thuê bao mẹ thuộc về. |
productId |
Bắt buộc. Không thể thay đổi. Mã nhận dạng của gói thuê bao chính mà ưu đãi này thuộc về. |
basePlanId |
Bắt buộc. Không thể thay đổi. Mã nhận dạng của gói cơ bản mà ưu đãi này là một phần mở rộng. |
offerId |
Bắt buộc. Không thể thay đổi. Mã nhận dạng duy nhất của ưu đãi thuê bao này. Phải là duy nhất trong gói cơ bản. |
state |
Chỉ có đầu ra. Trạng thái hiện tại của ưu đãi này. Có thể thay đổi bằng cách sử dụng các thao tác Bật và Tắt. Lưu ý: trạng thái của gói cơ bản sẽ thay thế trạng thái này, vì vậy, một ưu đãi đang hoạt động có thể không dùng được nếu gói cơ bản không hoạt động. |
phases[] |
Bắt buộc. Các giai đoạn của ưu đãi gói thuê bao này. Phải chứa ít nhất một và tối đa hai mục. Người dùng sẽ luôn nhận được tất cả các giai đoạn này theo thứ tự đã chỉ định. |
targeting |
Các yêu cầu mà người dùng cần đáp ứng để đủ điều kiện nhận ưu đãi này. Biểu thị các yêu cầu mà Play sẽ đánh giá để quyết định xem có nên trả về một đề nghị hay không. Nhà phát triển có thể tự lọc thêm những mặt hàng này. |
regionalConfigs[] |
Bắt buộc. Cấu hình theo khu vực cụ thể của ưu đãi này. Phải có ít nhất một mục. |
otherRegionsConfig |
Cấu hình cho mọi vị trí mới mà Play có thể ra mắt trong tương lai. |
offerTags[] |
Danh sách gồm tối đa 20 thẻ tuỳ chỉnh được chỉ định cho mặt hàng này và được trả về cho ứng dụng thông qua thư viện thanh toán. |
Tiểu bang
Trạng thái hiện tại của ưu đãi thuê bao.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Giá trị mặc định, không bao giờ được sử dụng. |
DRAFT |
Người dùng không thể và chưa bao giờ có thể sử dụng ưu đãi thuê bao này. |
ACTIVE |
Ưu đãi thuê bao này dành cho cả người dùng mới và người dùng hiện tại. |
INACTIVE |
Ưu đãi thuê bao này không dành cho người dùng mới. Người dùng hiện tại vẫn có quyền truy cập. |
SubscriptionOfferPhase
Một giai đoạn duy nhất của gói thuê bao.
| Biểu diễn dưới dạng JSON |
|---|
{ "recurrenceCount": integer, "duration": string, "regionalConfigs": [ { object ( |
| Trường | |
|---|---|
recurrenceCount |
Bắt buộc. Số lần giai đoạn này lặp lại. Nếu giai đoạn ưu đãi này không miễn phí, thì mỗi lần lặp lại, người dùng sẽ bị tính phí theo giá của giai đoạn ưu đãi này. |
duration |
Bắt buộc. Khoảng thời gian của một lần lặp lại duy nhất trong giai đoạn này. Được chỉ định ở định dạng ISO 8601. |
regionalConfigs[] |
Bắt buộc. Cấu hình theo khu vực cụ thể của giai đoạn ưu đãi này. Danh sách này phải chứa đúng một mục cho mỗi khu vực mà ưu đãi thuê bao có cấu hình theo khu vực. |
otherRegionsConfig |
Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt. |
RegionalSubscriptionOfferPhaseConfig
Cấu hình cho một giai đoạn duy nhất của ưu đãi thuê bao ở một khu vực duy nhất.
| Biểu diễn dưới dạng JSON |
|---|
{ "regionCode": string, // Union field |
| Trường | |
|---|---|
regionCode |
Bắt buộc. Không thể thay đổi. Khu vực áp dụng cấu hình này. |
Trường nhóm price_override. Giá ghi đè của giai đoạn này. Bắt buộc. price_override chỉ có thể là một trong những trạng thái sau: |
|
price |
Giá tuyệt đối mà người dùng trả cho giai đoạn ưu đãi này. Giá không được thấp hơn giá tối thiểu được phép cho khu vực này. |
relativeDiscount |
Phần giá gói cơ bản được tính theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 120.000 VND trong thời hạn 1 năm, thì mức chiết khấu 50% cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với mức giá 15.000 VND. Bạn phải chỉ định chiết khấu dưới dạng một phân số lớn hơn 0 và nhỏ hơn 1. Giá cuối cùng sẽ được làm tròn đến đơn vị có thể tính phí gần nhất (ví dụ: xu đối với USD). Chiết khấu tương đối được coi là không hợp lệ nếu giá chiết khấu thấp hơn giá tối thiểu được phép ở khu vực này. |
absoluteDiscount |
Số tiền tuyệt đối được trừ vào giá gói cơ bản theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 12 USD trong thời hạn 1 năm, thì chiết khấu tuyệt đối 1 USD cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với giá 2 USD. Giá cuối cùng không được thấp hơn giá tối thiểu được phép cho khu vực này. |
free |
Đặt để chỉ định rằng ưu đãi này miễn phí. |
RegionalSubscriptionOfferPhaseFreePriceOverride
Loại này không có trường nào.
Biểu thị cấu hình thay thế giá miễn phí cho một giai đoạn của ưu đãi thuê bao
OtherRegionsSubscriptionOfferPhaseConfig
Cấu hình cho mọi vị trí mới mà Play có thể ra mắt trong một giai đoạn cung cấp.
| Biểu diễn dưới dạng JSON |
|---|
{ // Union field |
| Trường | |
|---|---|
Trường nhóm price_override. Giá ghi đè của giai đoạn này. Bắt buộc. price_override chỉ có thể là một trong những trạng thái sau: |
|
otherRegionsPrices |
Giá tuyệt đối mà người dùng trả cho giai đoạn ưu đãi này. Giá không được thấp hơn giá tối thiểu được phép cho bất kỳ vị trí mới nào mà Play có thể ra mắt. |
relativeDiscount |
Phần giá gói cơ bản được tính theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 120.000 VND trong thời hạn 1 năm, thì mức chiết khấu 50% cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với mức giá 15.000 VND. Bạn phải chỉ định chiết khấu dưới dạng một phân số lớn hơn 0 và nhỏ hơn 1. Giá cuối cùng sẽ được làm tròn đến đơn vị có thể tính phí gần nhất (ví dụ: xu đối với USD). Chiết khấu tương đối được coi là không hợp lệ nếu giá chiết khấu nhỏ hơn giá tối thiểu được phép ở bất kỳ vị trí mới nào mà Play có thể ra mắt. |
absoluteDiscounts |
Số tiền tuyệt đối được trừ vào giá gói cơ bản theo tỷ lệ trong thời hạn của giai đoạn mà người dùng trả cho giai đoạn ưu đãi này. Ví dụ: nếu giá gói cơ bản cho khu vực này là 12 USD trong thời hạn 1 năm, thì chiết khấu tuyệt đối 1 USD cho một giai đoạn có thời hạn 3 tháng sẽ tương ứng với giá 2 USD. Giá cuối cùng có thể không thấp hơn giá tối thiểu được phép cho bất kỳ vị trí mới nào mà Play có thể ra mắt. |
free |
Đặt để chỉ định rằng ưu đãi này miễn phí. |
OtherRegionsSubscriptionOfferPhasePrices
Thông tin về giá cho mọi vị trí mới mà Play có thể ra mắt.
| Biểu diễn dưới dạng JSON |
|---|
{ "usdPrice": { object ( |
| Trường | |
|---|---|
usdPrice |
Bắt buộc. Giá bằng USD để sử dụng cho mọi vị trí mới mà Play có thể ra mắt. |
eurPrice |
Bắt buộc. Giá bằng EUR để sử dụng cho mọi vị trí mới mà Play có thể ra mắt. |
OtherRegionsSubscriptionOfferPhaseFreePriceOverride
Loại này không có trường nào.
Biểu thị cấu hình ghi đè giá miễn phí cho mọi vị trí mới mà Play có thể ra mắt cho một giai đoạn ưu đãi duy nhất.
SubscriptionOfferTargeting
Xác định quy tắc mà người dùng cần đáp ứng để nhận được ưu đãi này.
| Biểu diễn dưới dạng JSON |
|---|
{ // Union field |
| Trường | |
|---|---|
Trường nhóm rule. Để trống nếu bạn muốn sử dụng tiêu chí đủ điều kiện nhận ưu đãi do nhà phát triển xác định. rule chỉ có thể là một trong những trạng thái sau: |
|
acquisitionRule |
Quy tắc nhắm mục tiêu ưu đãi để thu nạp người dùng mới. |
upgradeRule |
Quy tắc nhắm mục tiêu ưu đãi để nâng cấp gói hiện tại của người dùng. |
AcquisitionTargetingRule
Biểu thị một quy tắc nhắm mục tiêu có dạng: Người dùng chưa từng có {scope} trước đây.
| Biểu diễn dưới dạng JSON |
|---|
{
"scope": {
object ( |
| Trường | |
|---|---|
scope |
Bắt buộc. Phạm vi của các gói thuê bao mà quy tắc này xem xét. Chỉ cho phép "gói thuê bao này" và "mọi gói thuê bao trong ứng dụng". |
TargetingRuleScope
Xác định phạm vi của các gói thuê bao mà một quy tắc nhắm mục tiêu có thể so khớp để nhắm mục tiêu ưu đãi cho người dùng dựa trên quyền trước đây hoặc hiện tại.
| Biểu diễn dưới dạng JSON |
|---|
{ // Union field |
| Trường | |
|---|---|
Trường nhóm
|
|
thisSubscription |
Phạm vi của quy tắc nhắm mục tiêu hiện tại là gói thuê bao mà trong đó ưu đãi này được xác định. |
anySubscriptionInApp |
Phạm vi của quy tắc nhắm mục tiêu hiện tại là mọi gói thuê bao trong ứng dụng mẹ. |
specificSubscriptionInApp |
Phạm vi của quy tắc nhắm mục tiêu hiện tại là gói thuê bao có mã thuê bao được chỉ định. Phải là một gói thuê bao trong cùng một ứng dụng mẹ. |
TargetingRuleScopeThisSubscription
Loại này không có trường nào.
Biểu thị phạm vi quy tắc nhắm mục tiêu tương ứng với các gói thuê bao mà bạn xác định ưu đãi này.
TargetingRuleScopeAnySubscriptionInApp
Loại này không có trường nào.
Biểu thị phạm vi quy tắc nhắm mục tiêu tương ứng với mọi gói thuê bao trong ứng dụng mẹ.
UpgradeTargetingRule
Biểu thị một quy tắc nhắm mục tiêu có dạng: Người dùng hiện có {scope} [với kỳ thanh toán {billing_period}].
| Biểu diễn dưới dạng JSON |
|---|
{
"oncePerUser": boolean,
"scope": {
object ( |
| Trường | |
|---|---|
oncePerUser |
Giới hạn ưu đãi này chỉ một lần cho mỗi người dùng. Nếu bạn đặt thành true, thì người dùng sẽ không bao giờ đủ điều kiện sử dụng ưu đãi này nữa nếu họ từng đăng ký ưu đãi này. |
scope |
Bắt buộc. Phạm vi của các gói thuê bao mà quy tắc này xem xét. Chỉ cho phép "gói thuê bao này" và "gói thuê bao cụ thể trong ứng dụng". |
billingPeriodDuration |
Khoảng thời gian thanh toán cụ thể (được chỉ định ở định dạng ISO 8601) mà người dùng phải đang đăng ký để đủ điều kiện áp dụng quy tắc này. Nếu bạn không chỉ định, thì người dùng đăng ký kỳ thanh toán nào cũng đủ điều kiện. |
RegionalSubscriptionOfferConfig
Cấu hình cho một ưu đãi thuê bao ở một khu vực duy nhất.
| Biểu diễn dưới dạng JSON |
|---|
{ "regionCode": string, "newSubscriberAvailability": boolean } |
| Trường | |
|---|---|
regionCode |
Bắt buộc. Không thể thay đổi. Mã vùng mà cấu hình này áp dụng, theo định nghĩa của ISO 3166-2, ví dụ: "US". |
newSubscriberAvailability |
Gói thuê bao ở khu vực được chỉ định có dành cho người đăng ký mới hay không. Gói thuê bao của người đăng ký hiện tại sẽ không bị huỷ nếu bạn đặt giá trị này thành false. Nếu bạn không chỉ định, giá trị này sẽ mặc định là false. |
OtherRegionsSubscriptionOfferConfig
Cấu hình cho mọi vị trí mới mà Play có thể ra mắt được chỉ định trong một ưu đãi thuê bao.
| Biểu diễn dưới dạng JSON |
|---|
{ "otherRegionsNewSubscriberAvailability": boolean } |
| Trường | |
|---|---|
otherRegionsNewSubscriberAvailability |
Liệu bạn có cung cấp gói thuê bao ở những vị trí mới mà Play có thể ra mắt trong tương lai hay không. Nếu bạn không chỉ định, giá trị này sẽ mặc định là false. |
Phương thức |
|
|---|---|
|
Kích hoạt một ưu đãi thuê bao. |
|
Đọc một hoặc nhiều ưu đãi thuê bao. |
|
Cập nhật một nhóm ưu đãi thuê bao. |
|
Cập nhật trạng thái của một loạt ưu đãi thuê bao. |
|
Tạo một ưu đãi mới về gói thuê bao. |
|
Huỷ kích hoạt một ưu đãi thuê bao. |
|
Xoá một ưu đãi thuê bao. |
|
Đọc một ưu đãi |
|
Liệt kê tất cả các ưu đãi trong một gói thuê bao nhất định. |
|
Cập nhật một ưu đãi thuê bao hiện có. |
Mã lỗi
Các thao tác của tài nguyên này sẽ trả về các mã lỗi HTTP sau:
| Mã lỗi | Lý do | Mô tả | Độ phân giải |
|---|---|---|---|
400 |
invalidValue |
Bạn đã cung cấp một giá trị không hợp lệ trong yêu cầu. Lỗi này thường xảy ra khi mã thông báo mua hàng bị lỗi hoặc không hợp lệ. | Hãy sửa giá trị trường không hợp lệ trong nội dung hoặc tham số yêu cầu dựa trên tài liệu tham khảo API. |
400 |
required |
Yêu cầu thiếu một trường hoặc tham số bắt buộc. | Tham khảo tài liệu API để đảm bảo bạn đã thêm tất cả các trường và tham số bắt buộc. |
403 |
userInsufficientPermission |
Người dùng không có đủ quyền để thực hiện thao tác được yêu cầu. | Đảm bảo người dùng được xác thực có các quyền cần thiết trong Google Play Console. Hãy xem phần Sử dụng tài khoản dịch vụ để biết thêm thông tin. |
404 |
notFound |
Không tìm thấy tài nguyên được yêu cầu. | Xác minh rằng các giá trị nhận dạng (ví dụ: mã thông báo giao dịch mua, tên gói, mã sản phẩm, mã thuê bao) là chính xác. |
409 |
concurrentUpdate |
Đã có một nỗ lực cập nhật một đối tượng đang được cập nhật đồng thời. | Thử lại yêu cầu với thời gian đợi luỹ thừa. Tránh sửa đổi đồng thời cùng một tài nguyên. |
5xx |
Generic error |
Lỗi chung trong máy chủ Google Play. | Hãy thử gửi lại yêu cầu. Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với người quản lý tài khoản Google Play hoặc gửi yêu cầu hỗ trợ. Hãy cân nhắc kiểm tra Trang tổng quan về trạng thái của Play để xem có sự cố ngừng hoạt động nào đã biết hay không. |