REST Resource: monetization.subscriptions.basePlans.offers

Ressource: SubscriptionOffer

Une offre unique et temporaire

Représentation 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)
    }
  ]
}
Champs
packageName

string

Obligatoire. Immuable. Nom de package de l'application à laquelle appartient l'abonnement parent.

productId

string

Obligatoire. Immuable. ID de l'abonnement parent auquel cette offre appartient.

basePlanId

string

Obligatoire. Immuable. ID du forfait de base auquel cette offre est une extension.

offerId

string

Obligatoire. Immuable. Identifiant unique de cette offre d'abonnement. Doit être unique dans le forfait de base.

state

enum (State)

Uniquement en sortie. État actuel de l'offre. Peut être modifié à l'aide des actions Activer et Désactiver. Remarque: L'état du forfait de base remplace cet état. Par conséquent, une offre active peut ne pas être disponible si le forfait de base n'est pas actif.

phases[]

object (SubscriptionOfferPhase)

Obligatoire. Les phases de cette offre d'abonnement. Doit contenir au moins une entrée et peut en contenir au maximum cinq. Les utilisateurs recevront toujours toutes ces phases dans l'ordre spécifié. Les phases ne peuvent pas être ajoutées, supprimées ou réorganisées après leur création initiale.

targeting

object (SubscriptionOfferTargeting)

Conditions que les utilisateurs doivent remplir pour bénéficier de cette offre. Représente les exigences que Play doit évaluer pour décider si une offre doit être renvoyée ou non. Les développeurs peuvent eux-mêmes filtrer davantage ces offres.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Obligatoire. Configuration spécifique à la région de cette offre. Doit contenir au moins une entrée.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

La configuration des nouveaux emplacements sur Play pourra être lancée à l'avenir.

offerTags[]

object (OfferTag)

Liste contenant jusqu'à 20 tags personnalisés spécifiés pour cette offre et renvoyée à l'application via la bibliothèque Billing.

État

État actuel de l'offre d'abonnement.

Enums
STATE_UNSPECIFIED Valeur par défaut, ne doit jamais être utilisée.
DRAFT L'offre d'abonnement n'est pas disponible et n'a jamais été proposée aux utilisateurs.
ACTIVE L'offre d'abonnement est disponible pour les utilisateurs nouveaux et existants.
INACTIVE L'offre d'abonnement n'est pas disponible pour les nouveaux utilisateurs. Les utilisateurs existants conservent leur accès.

SubscriptionOfferPhase

Une seule phase de l'offre d'abonnement.

Représentation JSON
{
  "recurrenceCount": integer,
  "duration": string,
  "regionalConfigs": [
    {
      object (RegionalSubscriptionOfferPhaseConfig)
    }
  ],
  "otherRegionsConfig": {
    object (OtherRegionsSubscriptionOfferPhaseConfig)
  }
}
Champs
recurrenceCount

integer

Obligatoire. Nombre de répétitions de cette phase. Si cette phase d'offre n'est pas sans frais, le prix de cette phase d'offre est facturé à l'utilisateur à chaque récurrence.

duration

string

Obligatoire. Durée d'une seule récurrence de cette phase. Spécifié au format ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Obligatoire. Configuration spécifique à la région de cette phase d'offre. Cette liste doit contenir exactement une entrée pour chaque région pour laquelle l'offre d'abonnement dispose d'une configuration régionale.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

Informations tarifaires pour tous les nouveaux pays dans lesquels Play peut être lancé.

RegionalSubscriptionOfferPhaseConfig

Configuration pour une phase unique d'une offre d'abonnement dans une seule région.

Représentation 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.
}
Champs
regionCode

string

Obligatoire. Immuable. Région à laquelle s'applique cette configuration.

Champ d'union price_override. Remplacement du prix de cette phase. Obligatoire. price_override ne peut être qu'un des éléments suivants :
price

object (Money)

Prix absolu que l'utilisateur paie pour cette phase d'offre. Le prix ne doit pas être inférieur au prix minimal autorisé pour cette région.

relativeDiscount

number

Fraction du prix du forfait de base au prorata sur la durée de la phase que l'utilisateur paie pour cette phase d'offre. Par exemple, si le prix du forfait de base dans cette région est de 12 $pour une période d'un an, une remise de 50% pour une phase de trois mois correspondra au prix de 1,50 $. La remise doit être spécifiée sous la forme d'une fraction strictement supérieure à 0 et strictement inférieure à 1. Le prix obtenu sera arrondi à l'unité facturable la plus proche (par exemple, des cents pour l'USD). La remise relative est considérée comme non valide si le prix réduit devient inférieur au prix minimal autorisé dans cette région.

absoluteDiscount

object (Money)

Montant absolu soustrait du prix du forfait de base calculé au prorata sur la durée de la phase pendant laquelle l'utilisateur paie pour cette phase d'offre. Par exemple, si le prix du forfait de base dans cette région est de 12 $pour une période d'un an, une remise absolue de 1 $pour une phase de 3 mois correspondra au prix de 2 $. Le prix final ne peut pas être inférieur au prix minimal autorisé pour cette région.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Spécifiez que l'offre est sans frais.

RegionalSubscriptionOfferPhaseFreePriceOverride

Ce type ne comporte aucun champ.

Représente la configuration de remplacement du prix sans frais pour une seule phase d'une offre d'abonnement

OtherRegionsSubscriptionOfferPhaseConfig

Configuration pour tous les nouveaux lieux dans lesquels Play peut être lancé lors d'une seule phase d'offre.

Représentation 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.
}
Champs
Champ d'union price_override. Remplacement du prix de cette phase. Obligatoire. price_override ne peut être qu'un des éléments suivants :
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Prix absolu que l'utilisateur paie pour cette phase d'offre. Le prix ne doit pas être inférieur au prix minimal autorisé pour les nouvelles régions dans lesquelles Play peut être lancé.

relativeDiscount

number

Fraction du prix du forfait de base au prorata sur la durée de la phase que l'utilisateur paie pour cette phase d'offre. Par exemple, si le prix du forfait de base dans cette région est de 12 $pour une période d'un an, une remise de 50% pour une phase de trois mois correspondra au prix de 1,50 $. La remise doit être spécifiée sous la forme d'une fraction strictement supérieure à 0 et strictement inférieure à 1. Le prix obtenu sera arrondi à l'unité facturable la plus proche (par exemple, des cents pour l'USD). La remise relative est considérée comme non valide si le prix réduit est inférieur au prix minimal autorisé dans les nouveaux pays où Play peut être lancé.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Montant absolu soustrait du prix du forfait de base calculé au prorata sur la durée de la phase pendant laquelle l'utilisateur paie pour cette phase d'offre. Par exemple, si le prix du forfait de base dans cette région est de 12 $pour une période d'un an, une remise absolue de 1 $pour une phase de 3 mois correspondra au prix de 2 $. Le prix final ne peut pas être inférieur au prix minimal autorisé pour les nouvelles régions dans lesquelles Play peut être lancé.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Spécifiez que l'offre est sans frais.

OtherRegionsSubscriptionOfferPhasePrices

Informations tarifaires pour tous les nouveaux pays dans lesquels Play peut être lancé.

Représentation JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Champs
usdPrice

object (Money)

Obligatoire. Prix en USD à utiliser dans toutes les nouvelles régions dans lesquelles Play peut être lancé.

eurPrice

object (Money)

Obligatoire. Prix en EUR à utiliser dans toutes les nouvelles régions dans lesquelles Play peut être lancé.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Ce type ne comporte aucun champ.

Représente la configuration de remplacement du prix sans frais pour toute nouvelle zone géographique que Play peut lancer lors d'une seule phase de l'offre.

SubscriptionOfferTargeting

Définit la règle à laquelle l'utilisateur doit se conformer pour recevoir cette offre.

Représentation 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.
}
Champs
Champ d'union rule. Laissez ce champ vide pour déterminer l'éligibilité à l'offre définie par le développeur. rule ne peut être qu'un des éléments suivants :
acquisitionRule

object (AcquisitionTargetingRule)

Règle de ciblage de l'offre pour l'acquisition de nouveaux utilisateurs.

upgradeRule

object (UpgradeTargetingRule)

Règle de ciblage de l'offre pour la mise à niveau des utilisateurs forfaits existants.

AcquisitionTargetingRule

Représente une règle de ciblage au format suivant : "Utilisateur n'avait jamais eu {scope} auparavant".

Représentation JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Champs
scope

object (TargetingRuleScope)

Obligatoire. Champ d'application des abonnements pris en compte par cette règle. N'autorise que "cet abonnement" et "tout abonnement dans l'application".

TargetingRuleScope

Définit le champ d'application des abonnements qu'une règle de ciblage peut mettre en correspondance pour cibler des offres d'utilisateurs en fonction de droits d'accès passés ou actuels.

Représentation 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.
}
Champs

Champ d'union scope.

scope ne peut être qu'un des éléments suivants :

thisSubscription

object (TargetingRuleScopeThisSubscription)

Le champ d'application de la règle de ciblage actuelle correspond à l'abonnement dans lequel cette offre est définie.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

La règle de ciblage actuelle s'applique à tout abonnement dans l'application parente.

specificSubscriptionInApp

string

Le champ d'application de la règle de ciblage actuelle correspond à l'abonnement avec l'ID d'abonnement spécifié. Doit être un abonnement dans la même application parente.

TargetingRuleScopeThisSubscription

Ce type ne comporte aucun champ.

Représente le champ d'application de la règle de ciblage correspondant aux abonnements pour lesquels cette offre est définie.

TargetingRuleScopeAnySubscriptionInApp

Ce type ne comporte aucun champ.

Représente le champ d'application de la règle de ciblage correspondant à tout abonnement dans l'application parente.

UpgradeTargetingRule

Représente une règle de ciblage au format suivant: l'utilisateur dispose actuellement de {scope} [avec une période de facturation {billing_period}].

Représentation JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Champs
oncePerUser

boolean

Offre limitée à une seule utilisation par personne. Si elle est définie sur "True", un utilisateur ne pourra plus jamais en bénéficier s'il s'y est déjà abonné.

scope

object (TargetingRuleScope)

Obligatoire. Champ d'application des abonnements pris en compte par cette règle. N'autorise que "cet abonnement" et "abonnement spécifique dans l'application".

billingPeriodDuration

string

Durée spécifique de la période de facturation, spécifiée au format ISO 8601, à laquelle un utilisateur doit être actuellement abonné pour être éligible à cette règle. Si aucune valeur n'est spécifiée, les utilisateurs abonnés à une période de facturation sont mis en correspondance.

RegionalSubscriptionOfferConfig

Configuration d'une offre d'abonnement dans une seule région.

Représentation JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Champs
regionCode

string

Obligatoire. Immuable. Code de région auquel s'applique cette configuration, tel que défini par la norme ISO 3166-2, par exemple "US".

newSubscriberAvailability

boolean

Indique si l'offre d'abonnement est disponible pour les nouveaux abonnés dans la région spécifiée. L'abonnement des abonnés existants ne sera pas annulé si cette valeur est définie sur "false". Si aucune valeur n'est spécifiée, la valeur par défaut est "false".

OtherRegionsSubscriptionOfferConfig

Configuration pour tout nouvel emplacement où Play peut être lancé dans les pays spécifiés dans une offre d'abonnement.

Représentation JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Champs
otherRegionsNewSubscriberAvailability

boolean

Indique si l'offre d'abonnement est disponible dans de nouveaux pays où Play peut être lancé à l'avenir. Si aucune valeur n'est spécifiée, la valeur par défaut est "false".

Méthodes

activate

Active une offre d'abonnement.

batchGet

Lit une ou plusieurs offres d'abonnement.

batchUpdate

Met à jour un lot d'offres d'abonnement.

batchUpdateStates

Met à jour un lot d'états d'offre d'abonnement.

create

Crée une offre d'abonnement.

deactivate

Désactive une offre d'abonnement.

delete

Supprime une offre d'abonnement.

get

Lit une offre unique

list

Répertorie toutes les offres associées à un abonnement donné.

patch

Met à jour une offre d'abonnement existante.