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 unik 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 paket 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. Developer dapat memfilter sendiri penawaran tersebut lebih lanjut.

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,

  // Union field price_override can be only one of the following:
  "price": {
    object (Money)
  },
  "relativeDiscount": number,
  "absoluteDiscount": {
    object (Money)
  },
  "free": {
    object (RegionalSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
Kolom
regionCode

string

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

Kolom union price_override. Penggantian harga pada fase ini. Wajib. price_override hanya dapat berupa salah satu dari berikut:
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

Pecahan harga paket dasar yang diprorata selama durasi fase yang dibayar pengguna untuk fase penawaran ini. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, maka diskon 50% untuk fase berdurasi 3 bulan akan setara dengan harga $1,50. Diskon harus ditentukan dalam bentuk pecahan yang lebih besar dari 0 dan lebih kecil dari 1. 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 yang dibayar pengguna untuk fase penawaran ini. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, maka diskon mutlak $1 untuk fase berdurasi 3 bulan akan setara dengan harga $2. Harga yang dihasilkan 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.

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
{

  // Union field price_override can be only one of the following:
  "otherRegionsPrices": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "relativeDiscount": number,
  "absoluteDiscounts": {
    object (OtherRegionsSubscriptionOfferPhasePrices)
  },
  "free": {
    object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)
  }
  // End of list of possible types for union field price_override.
}
Kolom
Kolom union price_override. Penggantian harga pada fase ini. Wajib. price_override hanya dapat berupa salah satu dari berikut:
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

Pecahan harga paket dasar yang diprorata selama durasi fase yang dibayar pengguna untuk fase penawaran ini. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, maka diskon 50% untuk fase berdurasi 3 bulan akan setara dengan harga $1,50. Diskon harus ditentukan dalam bentuk pecahan yang lebih besar dari 0 dan lebih kecil dari 1. 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 yang dibayar pengguna untuk fase penawaran ini. Misalnya, jika harga paket dasar untuk wilayah ini adalah $12 untuk jangka waktu 1 tahun, maka 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.

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
{

  // Union field rule can be only one of the following:
  "acquisitionRule": {
    object (AcquisitionTargetingRule)
  },
  "upgradeRule": {
    object (UpgradeTargetingRule)
  }
  // End of list of possible types for union field rule.
}
Kolom
Kolom union rule. Biarkan kosong untuk kelayakan penawaran yang ditentukan developer. rule hanya dapat berupa salah satu dari berikut:
acquisitionRule

object (AcquisitionTargetingRule)

Aturan penargetan penawaran untuk akuisisi pengguna baru.

upgradeRule

object (UpgradeTargetingRule)

Aturan penargetan penawaran untuk mengupgrade paket pengguna yang ada.

AcquisitionTargetingRule

Menampilkan aturan penargetan dalam bentuk: 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

Menentukan cakupan langganan yang aturan penargetan-nya dapat memenuhi syarat untuk menargetkan penawaran kepada pengguna berdasarkan hak di masa lalu atau saat ini.

Representasi JSON
{

  // Union field scope can be only one of the following:
  "thisSubscription": {
    object (TargetingRuleScopeThisSubscription)
  },
  "anySubscriptionInApp": {
    object (TargetingRuleScopeAnySubscriptionInApp)
  },
  "specificSubscriptionInApp": string
  // End of list of possible types for union field scope.
}
Kolom

Kolom union scope.

scope hanya dapat berupa salah satu dari hal berikut:

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.

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 {billing_period}].

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, defaultnya adalah salah (false).

OtherRegionsSubscriptionOfferConfig

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

Representasi JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Kolom
otherRegionsNewSubscriberAvailability

boolean

Apakah langganan ditawarkan di lokasi baru tempat Play mungkin meluncurkan penawaran di masa mendatang. Jika tidak ditentukan, defaultnya adalah salah (false).

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 pada langganan tertentu.

patch

Memperbarui penawaran langganan yang ada.