REST Resource: monetization.subscriptions.basePlans.offers

Resource: SubscriptionOffer

Satu penawaran yang bersifat sementara

Representasi JSON
{
  "packageName": string,
  "productId": string,
  "basePlanId": string,
  "offerId": string,
  "state": enum (State),
  "phases": [
    {
      object (SubscriptionOfferPhase)
    }
  ],
  "targeting": {
    object (SubscriptionOfferTargeting)
  },
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferConfig)
  },
  "offerTags": [
    {
      object (OfferTag)
    }
  ]
}
Kolom
packageName

string

Wajib. Tidak dapat diubah. Nama paket aplikasi yang memiliki langganan induk ini.

productId

string

Wajib. Tidak dapat diubah. ID langganan induk yang memiliki penawaran ini.

basePlanId

string

Wajib. Tidak dapat diubah. ID paket dasar, yang menyediakan penawaran ini sebagai ekstensinya.

offerId

string

Wajib. Tidak dapat diubah. ID unik penawaran langganan ini. Harus bersifat unik di dalam paket dasar.

state

enum (State)

Hanya output. Status penawaran saat ini. Dapat diubah menggunakan tindakan Activate dan Deactivate. NB: status paket dasar menggantikan status ini, sehingga penawaran aktif mungkin tidak tersedia jika penawaran dasar tidak aktif.

phases[]

object (SubscriptionOfferPhase)

Wajib. Fase penawaran langganan ini. Harus berisi minimal satu dan maksimal dua entri. Pengguna akan selalu menerima semua fase ini dalam urutan yang ditentukan.

targeting

object (SubscriptionOfferTargeting)

Persyaratan yang harus dipenuhi pengguna agar memenuhi syarat untuk penawaran ini. Mewakili persyaratan yang akan dievaluasi oleh Play untuk memutuskan apakah penawaran harus ditampilkan. Selanjutnya, developer dapat memfilter sendiri penawaran tersebut.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Wajib. Konfigurasi khusus wilayah untuk penawaran ini. Harus berisi minimal satu entri.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Konfigurasi untuk lokasi baru tempat Play mungkin meluncurkan penawaran di masa mendatang.

offerTags[]

object (OfferTag)

Mencantumkan hingga 20 tag kustom yang ditentukan untuk penawaran ini, dan ditampilkan pada aplikasi melalui Billing Library.

Negara Bagian

Status penawaran langganan saat ini.

Enum
STATE_UNSPECIFIED Nilai default, tidak boleh digunakan.
DRAFT Penawaran langganan tidak dan tidak pernah tersedia bagi pengguna.
ACTIVE Penawaran langganan tersedia bagi pengguna baru dan lama.
INACTIVE Penawaran langganan tidak tersedia bagi pengguna baru. Pengguna lama tetap memiliki akses.

SubscriptionOfferPhase

Satu fase penawaran langganan.

Representasi JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Kolom
recurrenceCount

integer

Wajib. Berapa kali fase ini berulang. Jika fase penawaran ini tidak gratis, setiap pengulangan akan membebankan harga fase penawaran ini kepada pengguna.

duration

string

Wajib. Durasi satu kali pengulangan dari fase ini. Ditentukan dalam format ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Wajib. Konfigurasi khusus wilayah untuk fase penawaran ini. Daftar ini harus berisi tepat satu entri untuk setiap wilayah yang penawaran langganannya memiliki konfigurasi regional.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Informasi harga untuk lokasi baru tempat Play mungkin meluncurkan penawaran.

RegionalSubscriptionOfferPhaseConfig

Konfigurasi untuk satu fase penawaran langganan di satu wilayah.

Representasi JSON
{
  "regionCode": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
Kolom
regionCode

string

Wajib. Tidak dapat diubah. Wilayah tempat konfigurasi ini diterapkan.

Penggantian harga pada fase ini. Wajib. Berikut adalah daftar kolom yang saling eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
price

object (Money)

Harga mutlak yang dibayar pengguna untuk fase penawaran ini. Harga tidak boleh lebih kecil dari harga minimum yang diizinkan untuk wilayah ini.

relativeDiscount

number

Diskon persentase yang dikurangi dari harga paket dasar yang diprorata selama durasi fase, yang ditentukan sebagai pecahan yang lebih besar dari 0 dan lebih kecil dari 1. Misalnya, nilai 0.8 mewakili diskon 80%, yang berarti jika harga paket dasar yang diprorata adalah $100, harga penawaran akan menjadi $20. Harga akhir akan dibulatkan ke satuan terdekat yang dapat ditagih (misalnya, sen untuk USD). Diskon relatif dianggap tidak valid jika ternyata harga diskon lebih kecil dari harga minimum yang diizinkan di wilayah ini.

absoluteDiscount

object (Money)

Jumlah mutlak uang yang dikurangi dari harga paket dasar yang diprorata selama durasi fase. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, diskon mutlak $1 untuk fase berdurasi 3 bulan akan setara dengan harga $2. Harga akhir tidak boleh lebih kecil dari harga minimum yang diizinkan untuk wilayah ini.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Disetel untuk menentukan penawaran ini bisa diperoleh secara cuma-cuma.

Akhir kolom yang saling eksklusif.

RegionalSubscriptionOfferPhaseFreePriceOverride

Jenis ini tidak memiliki kolom.

Menampilkan konfigurasi penggantian harga gratis untuk satu fase penawaran langganan

OtherRegionsSubscriptionOfferPhaseConfig

Konfigurasi untuk lokasi baru tempat Play mungkin meluncurkan satu fase penawaran.

Representasi JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of mutually exclusive fields.
}
Kolom
Penggantian harga pada fase ini. Wajib. Berikut adalah daftar kolom yang saling eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Harga mutlak yang dibayar pengguna untuk fase penawaran ini. Harga tidak boleh lebih kecil dari harga minimum yang diizinkan untuk lokasi baru tempat Play mungkin meluncurkan penawaran.

relativeDiscount

number

Diskon persentase yang dikurangi dari harga paket dasar yang diprorata selama durasi fase, yang ditentukan sebagai pecahan yang lebih besar dari 0 dan lebih kecil dari 1. Misalnya, nilai 0.8 mewakili diskon 80%, yang berarti jika harga paket dasar yang diprorata adalah $100, harga penawaran akan menjadi $20. Harga akhir akan dibulatkan ke satuan terdekat yang dapat ditagih (misalnya, sen untuk USD). Diskon relatif dianggap tidak valid jika ternyata harga diskon lebih kecil dari harga minimum yang diizinkan di lokasi baru tempat Play mungkin meluncurkan penawaran.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Jumlah mutlak uang yang dikurangi dari harga paket dasar yang diprorata selama durasi fase. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, diskon mutlak $1 untuk fase berdurasi 3 bulan akan setara dengan harga $2. Harga akhir tidak boleh lebih kecil dari harga minimum yang diizinkan untuk lokasi baru tempat Play mungkin meluncurkan penawaran.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Disetel untuk menentukan penawaran ini bisa diperoleh secara cuma-cuma.

Akhir kolom yang saling eksklusif.

OtherRegionsSubscriptionOfferPhasePrices

Informasi harga untuk lokasi baru tempat Play mungkin meluncurkan penawaran.

Representasi JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Kolom
usdPrice

object (Money)

Wajib. Harga dalam USD untuk digunakan di lokasi baru tempat Play mungkin meluncurkan penawaran.

eurPrice

object (Money)

Wajib. Harga dalam EUR untuk digunakan di lokasi baru tempat Play mungkin meluncurkan penawaran.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Jenis ini tidak memiliki kolom.

Menampilkan konfigurasi penggantian harga gratis untuk lokasi baru tempat Play mungkin meluncurkan satu fase penawaran.

SubscriptionOfferTargeting

Menentukan aturan yang harus dipenuhi pengguna untuk menerima penawaran ini.

Representasi JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of mutually exclusive fields.
}
Kolom
Biarkan kosong untuk kelayakan penawaran yang ditentukan developer. Berikut adalah daftar kolom yang saling eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
acquisitionRule

object (AcquisitionTargetingRule)

Aturan penargetan penawaran untuk akuisisi pengguna baru.

upgradeRule

object (UpgradeTargetingRule)

Aturan penargetan penawaran untuk mengupgrade paket pengguna yang ada.

Akhir kolom yang saling eksklusif.

AcquisitionTargetingRule

Menampilkan aturan penargetan formulir: Pengguna belum pernah memiliki {scope} sebelumnya.

Representasi JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Kolom
scope

object (TargetingRuleScope)

Wajib. Cakupan langganan yang dipertimbangkan aturan ini. Hanya mengizinkan "langganan ini" dan "langganan apa pun dalam aplikasi".

TargetingRuleScope

Mendefinisikan cakupan langganan yang aturan penargetannya dapat memenuhi syarat untuk menargetkan penawaran kepada pengguna berdasarkan hak di masa lalu atau saat ini.

Representasi JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of mutually exclusive fields.
}
Kolom
Berikut adalah daftar kolom yang saling eksklusif. Maksimal satu kolom akan ditetapkan dalam respons:
thisSubscription

object (TargetingRuleScopeThisSubscription)

Cakupan aturan penargetan saat ini adalah langganan yang menentukan penawaran ini.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

Cakupan aturan penargetan saat ini adalah langganan di aplikasi induk.

specificSubscriptionInApp

string

Cakupan aturan penargetan saat ini adalah langganan dengan ID langganan yang ditentukan. Harus berupa langganan dalam aplikasi induk yang sama.

Akhir kolom yang saling eksklusif.

TargetingRuleScopeThisSubscription

Jenis ini tidak memiliki kolom.

Menampilkan cakupan aturan penargetan yang sesuai dengan langganan tempat penawaran ini ditentukan.

TargetingRuleScopeAnySubscriptionInApp

Jenis ini tidak memiliki kolom.

Menampilkan cakupan aturan penargetan yang sesuai dengan langganan di aplikasi induk.

UpgradeTargetingRule

Menampilkan aturan penargetan dalam bentuk: Saat ini pengguna memiliki {scope} [dengan periode penagihan {billingPeriod}].

Representasi JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Kolom
oncePerUser

boolean

Batasi penawaran ini hanya satu kali per pengguna. Jika disetel ke benar (true), pengguna tidak akan pernah memenuhi syarat untuk penawaran ini lagi jika mereka pernah berlangganan penawaran ini.

scope

object (TargetingRuleScope)

Wajib. Cakupan langganan yang dipertimbangkan aturan ini. Hanya mengizinkan "langganan ini" dan "langganan tertentu dalam aplikasi".

billingPeriodDuration

string

Durasi periode penagihan tertentu, yang ditentukan dalam format ISO 8601, bahwa saat ini pengguna harus berlangganan agar memenuhi syarat untuk aturan ini. Jika tidak ditentukan, pengguna yang berlangganan periode penagihan mana pun akan memenuhi syarat.

RegionalSubscriptionOfferConfig

Konfigurasi untuk penawaran langganan di satu wilayah.

Representasi JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Kolom
regionCode

string

Wajib. Tidak dapat diubah. Kode wilayah yang berlaku untuk konfigurasi ini, sebagaimana ditentukan oleh ISO 3166-2, misalnya, "US".

newSubscriberAvailability

boolean

Apakah penawaran langganan di wilayah tertentu tersedia bagi pelanggan baru. Langganan pelanggan lama tidak akan dibatalkan jika nilai ini disetel ke salah (false). Jika tidak ditentukan, setelan defaultnya adalah salah.

OtherRegionsSubscriptionOfferConfig

Konfigurasi untuk lokasi baru tempat Play mungkin meluncurkan penawaran langganan yang ditentukan.

Representasi JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Kolom
otherRegionsNewSubscriberAvailability

boolean

Apakah penawaran langganan tersedia di lokasi baru tempat Play mungkin meluncurkan penawaran di masa mendatang. Jika tidak ditentukan, setelan defaultnya adalah salah.

Metode

activate

Mengaktifkan penawaran langganan.

batchGet

Membaca satu atau beberapa penawaran langganan.

batchUpdate

Memperbarui batch penawaran langganan.

batchUpdateStates

Memperbarui batch status penawaran langganan.

create

Membuat penawaran langganan baru.

deactivate

Menonaktifkan penawaran langganan.

delete

Menghapus penawaran langganan.

get

Membaca satu penawaran

list

Mencantumkan semua penawaran di langganan tertentu.

patch

Memperbarui penawaran langganan yang ada.

Kode error

Operasi resource ini menampilkan kode error HTTP berikut:

Kode error Alasan Deskripsi Resolusi