REST Resource: monetization.subscriptions.basePlans.offers

Resource: SubscriptionOffer

Satu penawaran 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.

productId

string

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

basePlanId

string

Wajib. Tidak dapat diubah. ID paket dasar tempat penawaran ini merupakan ekstensi.

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 Aktifkan dan Nonaktifkan. NB: status paket dasar menggantikan status ini, sehingga penawaran aktif mungkin tidak tersedia jika paket dasar tidak aktif.

phases[]

object (SubscriptionOfferPhase)

Wajib. Fase-fase dalam penawaran langganan ini. Harus berisi minimal satu dan paling banyak 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 Play untuk memutuskan apakah penawaran harus ditampilkan. Developer dapat memfilter penawaran ini lebih lanjut sendiri.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

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

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Konfigurasi untuk lokasi baru mana pun yang dapat diluncurkan Play pada 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 untuk pengguna.
ACTIVE Penawaran langganan tersedia untuk pengguna baru dan lama.
INACTIVE Penawaran langganan tidak tersedia untuk pengguna baru. Pengguna lama tetap memiliki akses.

SubscriptionOfferPhase

Fase tunggal dari penawaran langganan.

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

integer

Wajib. Berapa kali fase ini diulang. 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 tempat penawaran langganannya memiliki konfigurasi regional.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Informasi harga untuk lokasi baru yang mungkin diluncurkan Play.

RegionalSubscriptionOfferPhaseConfig

Konfigurasi untuk satu fase penawaran langganan di satu region.

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. Region tempat konfigurasi ini diterapkan.

Kolom union price_override. Penggantian harga fase ini. Wajib. price_override hanya dapat berupa salah satu dari berikut:
price

object (Money)

Harga mutlak yang dibayarkan 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 durasi 3 bulan akan setara dengan harga $1,50. Diskon harus ditentukan sebagai pecahan yang benar-benar lebih besar dari 0 dan benar-benar 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 absolut uang yang dikurangi dari harga paket dasar secara prorata selama durasi fase yang dibayarkan 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 mungkin tidak lebih kecil dari harga minimum yang diizinkan untuk wilayah ini.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Tetapkan untuk menentukan penawaran ini dapat diperoleh secara gratis.

RegionalSubscriptionOfferPhaseFreePriceOverride

Jenis ini tidak memiliki kolom.

Mewakili konfigurasi penggantian harga gratis untuk satu fase penawaran langganan

OtherRegionsSubscriptionOfferPhaseConfig

Konfigurasi untuk lokasi baru yang dapat diluncurkan Play untuk fase penawaran tunggal.

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 dibayarkan 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

Bagian harga paket dasar secara prorata 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 durasi 3 bulan akan setara dengan harga $1,50. Diskon harus ditentukan sebagai pecahan yang benar-benar lebih besar dari 0 dan benar-benar lebih kecil dari 1. Harga yang dihasilkan akan dibulatkan ke unit 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 yang dihasilkan tidak boleh lebih kecil dari harga minimum yang diizinkan untuk lokasi baru yang mungkin diluncurkan Play.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Tetapkan untuk menentukan penawaran ini dapat diperoleh secara gratis.

OtherRegionsSubscriptionOfferPhasePrices

Informasi harga untuk lokasi baru yang mungkin diluncurkan Play.

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

object (Money)

Wajib. Harga dalam USD yang dapat digunakan untuk lokasi baru yang dapat diluncurkan Play.

eurPrice

object (Money)

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

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Jenis ini tidak memiliki kolom.

Mewakili konfigurasi penggantian harga gratis untuk lokasi baru yang dapat diluncurkan Play untuk 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)

Tawarkan aturan penargetan untuk mengupgrade pengguna paket yang sudah 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 oleh aturan ini. Hanya izinkan "langganan ini" dan "langganan apa pun dalam aplikasi".

TargetingRuleScope

Menentukan cakupan langganan yang dapat dicocokkan oleh aturan penargetan untuk menargetkan penawaran kepada pengguna berdasarkan hak sebelumnya 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 yang berikut:

thisSubscription

object (TargetingRuleScopeThisSubscription)

Cakupan aturan penargetan saat ini adalah langganan tempat penawaran ini ditentukan.

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 merupakan 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.

Mewakili cakupan aturan penargetan yang sesuai dengan langganan apa pun di aplikasi induk.

UpgradeTargetingRule

Merepresentasikan aturan penargetan dalam format: Pengguna saat ini 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 oleh 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 apa pun akan dicocokkan.

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 yang ditentukan tersedia untuk pelanggan baru. Langganan pelanggan yang ada tidak akan dibatalkan jika nilai ini disetel ke false. Jika tidak ditentukan, nilai defaultnya adalah false (salah).

OtherRegionsSubscriptionOfferConfig

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

Representasi JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Kolom
otherRegionsNewSubscriberAvailability

boolean

Apakah penawaran langganan di lokasi baru Play dapat diluncurkan pada masa mendatang. Jika tidak ditentukan, nilai defaultnya adalah false (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 dalam langganan tertentu.

patch

Memperbarui penawaran langganan yang ada.