REST Resource: monetization.subscriptions.basePlans.offers

Zasób: SubscriptionOffer

jednorazowa oferta tymczasowa,

Zapis 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)
    }
  ]
}
Pola
packageName

string

Wymagane. Niezmienne. Nazwa pakietu aplikacji, do której należy subskrypcja nadrzędna.

productId

string

Wymagane. Niezmienne. Identyfikator subskrypcji nadrzędnej, do której należy ta oferta.

basePlanId

string

Wymagane. Niezmienne. Identyfikator abonamentu podstawowego, którego ta oferta jest rozszerzeniem.

offerId

string

Wymagane. Niezmienne. Unikalny identyfikator tej oferty subskrypcji. Musi być unikalna w ramach planu podstawowego.

state

enum (State)

Tylko dane wyjściowe. Bieżący stan tej oferty. Można go zmienić za pomocą działań Aktywuj i Dezaktywuj. Uwaga: stan abonamentu podstawowego ma wyższy priorytet niż ten stan, więc aktywna oferta może być niedostępna, jeśli abonament podstawowy nie jest aktywny.

phases[]

object (SubscriptionOfferPhase)

Wymagane. Etapy tej oferty subskrypcji. Musi zawierać co najmniej 1 wpis, ale nie więcej niż 2. Użytkownicy zawsze będą przechodzić wszystkie te etapy w określonej kolejności.

targeting

object (SubscriptionOfferTargeting)

Wymagania, które użytkownicy muszą spełnić, aby skorzystać z tej oferty. Określa wymagania, które Google Play będzie oceniać, aby zdecydować, czy oferta powinna zostać zwrócona. Deweloperzy mogą dodatkowo filtrować te oferty.

regionalConfigs[]

object (RegionalSubscriptionOfferConfig)

Wymagane. Konfiguracja tej oferty w danym regionie. Musi zawierać co najmniej 1 wpis.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferConfig)

Konfiguracja dla wszystkich nowych lokalizacji, w których Play może w przyszłości uruchomić usługę.

offerTags[]

object (OfferTag)

Lista maksymalnie 20 tagów niestandardowych określonych dla tej oferty, które są zwracane do aplikacji za pomocą biblioteki płatności.

Stan

Obecny stan oferty subskrypcji.

Wartości w polu enum
STATE_UNSPECIFIED Wartość domyślna, której nigdy nie należy używać.
DRAFT Oferta subskrypcji nie jest i nigdy nie była dostępna dla użytkowników.
ACTIVE Oferta subskrypcji jest dostępna dla nowych i dotychczasowych użytkowników.
INACTIVE Oferta subskrypcji nie jest dostępna dla nowych użytkowników. Dotychczasowi użytkownicy zachowają dostęp.

SubscriptionOfferPhase

Pojedynczy etap oferty subskrypcji.

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

integer

Wymagane. Liczba powtórzeń tego etapu. Jeśli ten etap oferty nie jest bezpłatny, przy każdym odnowieniu subskrypcji użytkownikowi zostanie naliczona cena tego etapu oferty.

duration

string

Wymagane. Czas trwania pojedynczego wystąpienia tej fazy. Podana w formacie ISO 8601.

regionalConfigs[]

object (RegionalSubscriptionOfferPhaseConfig)

Wymagane. Konfiguracja tej fazy oferty w danym regionie. Lista musi zawierać dokładnie 1 wpis dla każdego regionu, w przypadku którego oferta subskrypcji ma konfigurację regionalną.

otherRegionsConfig

object (OtherRegionsSubscriptionOfferPhaseConfig)

informacje o cenach w nowych lokalizacjach, w których może pojawić się usługa Google Play;

RegionalSubscriptionOfferPhaseConfig

Konfiguracja pojedynczej fazy oferty subskrypcji w jednym regionie.

Zapis 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.
}
Pola
regionCode

string

Wymagane. Niezmienne. Region, do którego odnosi się ta konfiguracja.

Pole zbiorcze price_override. Cena zastępcza tego etapu. Wymagane. price_override może mieć tylko jedną z tych wartości:
price

object (Money)

Cena bezwzględna, jaką użytkownik płaci za ten etap oferty. Cena nie może być niższa niż minimalna cena dopuszczalna w tym regionie.

relativeDiscount

number

Ułamek ceny abonamentu podstawowego proporcjonalny do czasu trwania etapu, który użytkownik płaci za ten etap oferty. Jeśli na przykład cena abonamentu podstawowego w tym regionie wynosi 12 PLN za okres 1 roku, to 50% rabatu na etap trwający 3 miesiące odpowiada cenie 1, 50 PLN. Rabat musi być określony jako ułamek większy od 0 i mniejszy od 1. Wynikowa cena zostanie zaokrąglona do najbliższej jednostki, za którą można naliczyć opłatę (np. centów w przypadku USD). Rabat względny jest uznawany za nieprawidłowy, jeśli cena po rabacie jest niższa niż minimalna cena dopuszczalna w tym regionie.

absoluteDiscount

object (Money)

Absolutna kwota pieniędzy odjęta od proporcjonalnej ceny abonamentu podstawowego w okresie trwania etapu, którą użytkownik płaci za ten etap oferty. Jeśli na przykład cena abonamentu podstawowego w tym regionie wynosi 12 PLN za okres 1 roku, to rabat bezwzględny w wysokości 1 PLN w przypadku etapu trwającego 3 miesiące odpowiada cenie 2 PLN. Wynikowa cena nie może być niższa niż minimalna cena dozwolona w tym regionie.

free

object (RegionalSubscriptionOfferPhaseFreePriceOverride)

Ustaw, aby określić, że ta oferta jest bezpłatna.

RegionalSubscriptionOfferPhaseFreePriceOverride

Ten typ nie ma pól.

Reprezentuje konfigurację zastąpienia ceny bezpłatnej dla jednego etapu oferty subskrypcji.

OtherRegionsSubscriptionOfferPhaseConfig

Konfiguracja nowych lokalizacji, w których Play może wprowadzić jedną fazę oferty.

Zapis 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.
}
Pola
Pole zbiorcze price_override. Cena zastępcza tego etapu. Wymagane. price_override może mieć tylko jedną z tych wartości:
otherRegionsPrices

object (OtherRegionsSubscriptionOfferPhasePrices)

Cena bezwzględna, jaką użytkownik płaci za ten etap oferty. Cena nie może być niższa niż minimalna cena dopuszczalna w przypadku nowych lokalizacji, w których Google Play może wprowadzić usługę.

relativeDiscount

number

Ułamek ceny abonamentu podstawowego proporcjonalny do czasu trwania etapu, który użytkownik płaci za ten etap oferty. Jeśli na przykład cena abonamentu podstawowego w tym regionie wynosi 12 PLN za okres 1 roku, to 50% rabatu na etap trwający 3 miesiące odpowiada cenie 1, 50 PLN. Rabat musi być określony jako ułamek większy od 0 i mniejszy od 1. Wynikowa cena zostanie zaokrąglona do najbliższej jednostki, za którą można naliczyć opłatę (np. centów w przypadku USD). Rabat względny jest uznawany za nieprawidłowy, jeśli cena po rabacie jest niższa niż minimalna cena dozwolona w nowych lokalizacjach, w których może pojawić się Google Play.

absoluteDiscounts

object (OtherRegionsSubscriptionOfferPhasePrices)

Absolutna kwota pieniędzy odjęta od proporcjonalnej ceny abonamentu podstawowego w okresie trwania etapu, którą użytkownik płaci za ten etap oferty. Jeśli na przykład cena abonamentu podstawowego w tym regionie wynosi 12 PLN za okres 1 roku, to rabat bezwzględny w wysokości 1 PLN w przypadku etapu trwającego 3 miesiące odpowiada cenie 2 PLN. Wynikowa cena nie może być niższa niż minimalna cena dopuszczalna w przypadku nowych lokalizacji, w których może pojawić się usługa Google Play.

free

object (OtherRegionsSubscriptionOfferPhaseFreePriceOverride)

Ustaw, aby określić, że ta oferta jest bezpłatna.

OtherRegionsSubscriptionOfferPhasePrices

informacje o cenach w nowych lokalizacjach, w których może pojawić się usługa Google Play;

Zapis JSON
{
  "usdPrice": {
    object (Money)
  },
  "eurPrice": {
    object (Money)
  }
}
Pola
usdPrice

object (Money)

Wymagane. Cena w USD, która będzie używana w przypadku nowych lokalizacji, w których może pojawić się usługa Google Play.

eurPrice

object (Money)

Wymagane. Cena w EUR, która będzie używana w przypadku nowych lokalizacji, w których Play może wprowadzić usługę.

OtherRegionsSubscriptionOfferPhaseFreePriceOverride

Ten typ nie ma pól.

Reprezentuje konfigurację zastąpienia ceny bezpłatnej w przypadku nowych lokalizacji, w których Google Play może wprowadzić pojedynczą fazę oferty.

SubscriptionOfferTargeting

Określa regułę, którą musi spełnić użytkownik, aby otrzymać tę ofertę.

Zapis 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.
}
Pola
Pole zbiorcze rule. Aby określić, czy oferta jest dostępna, pozostaw to pole puste. rule może mieć tylko jedną z tych wartości:
acquisitionRule

object (AcquisitionTargetingRule)

Reguła kierowania oferty na potrzeby pozyskiwania nowych użytkowników.

upgradeRule

object (UpgradeTargetingRule)

Reguła kierowania ofertą dla użytkowników, którzy chcą przejść na wyższy abonament.

AcquisitionTargetingRule

Reprezentuje regułę kierowania w formie: użytkownik nigdy wcześniej nie miał {scope}.

Zapis JSON
{
  "scope": {
    object (TargetingRuleScope)
  }
}
Pola
scope

object (TargetingRuleScope)

Wymagane. Zakres subskrypcji, które ta reguła bierze pod uwagę. Umożliwia tylko opcje „ta subskrypcja” i „dowolna subskrypcja w aplikacji”.

TargetingRuleScope

Określa zakres subskrypcji, do których może pasować reguła kierowania, aby kierować oferty do użytkowników na podstawie przeszłych lub obecnych uprawnień.

Zapis 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.
}
Pola

Pole zbiorcze scope.

Pole scope może mieć tylko jedną z tych wartości:

thisSubscription

object (TargetingRuleScopeThisSubscription)

Zakres bieżącej reguły kierowania to subskrypcja, w której zdefiniowana jest ta oferta.

anySubscriptionInApp

object (TargetingRuleScopeAnySubscriptionInApp)

Zakres bieżącej reguły kierowania obejmuje wszystkie subskrypcje w aplikacji nadrzędnej.

specificSubscriptionInApp

string

Zakres bieżącej reguły kierowania to subskrypcja o określonym identyfikatorze. Musi to być subskrypcja w ramach tej samej aplikacji nadrzędnej.

TargetingRuleScopeThisSubscription

Ten typ nie ma pól.

Określa zakres reguły kierowania odpowiadający subskrypcjom, w których zdefiniowana jest ta oferta.

TargetingRuleScopeAnySubscriptionInApp

Ten typ nie ma pól.

Reprezentuje zakres reguły kierowania odpowiadający dowolnej subskrypcji w aplikacji nadrzędnej.

UpgradeTargetingRule

Reprezentuje regułę kierowania w formie: użytkownik ma obecnie {scope} [z okresem rozliczeniowym {billing_period}].

Zapis JSON
{
  "oncePerUser": boolean,
  "scope": {
    object (TargetingRuleScope)
  },
  "billingPeriodDuration": string
}
Pola
oncePerUser

boolean

Ogranicz tę ofertę do 1 użycia na użytkownika. Jeśli ma wartość „prawda”, użytkownik, który kiedykolwiek skorzystał z tej oferty, nie będzie mógł z niej skorzystać ponownie.

scope

object (TargetingRuleScope)

Wymagane. Zakres subskrypcji, które ta reguła bierze pod uwagę. Dozwolone są tylko opcje „ta subskrypcja” i „konkretna subskrypcja w aplikacji”.

billingPeriodDuration

string

Określony czas trwania okresu rozliczeniowego w formacie ISO 8601, na który użytkownik musi mieć obecnie subskrypcję, aby kwalifikować się do tej reguły. Jeśli nie zostanie określone inaczej, dopasowywani są użytkownicy, którzy subskrybują dowolny okres rozliczeniowy.

RegionalSubscriptionOfferConfig

Konfiguracja oferty subskrypcji w jednym regionie.

Zapis JSON
{
  "regionCode": string,
  "newSubscriberAvailability": boolean
}
Pola
regionCode

string

Wymagane. Niezmienne. Kod regionu, którego dotyczy ta konfiguracja, zgodnie z normą ISO 3166-2, np. „US”.

newSubscriberAvailability

boolean

Określa, czy oferta subskrypcji w danym regionie jest dostępna dla nowych subskrybentów. Jeśli ta wartość jest ustawiona na „false”, subskrypcje obecnych subskrybentów nie zostaną anulowane. Jeśli nie podasz żadnej wartości, domyślnie zostanie użyta wartość „false”.

OtherRegionsSubscriptionOfferConfig

Konfiguracja nowych lokalizacji, w których może pojawić się usługa Play, określona w ofercie subskrypcji.

Zapis JSON
{
  "otherRegionsNewSubscriberAvailability": boolean
}
Pola
otherRegionsNewSubscriberAvailability

boolean

czy oferta subskrypcji ma być dostępna w nowych lokalizacjach, w których Google Play może w przyszłości rozpocząć działalność. Jeśli nie podasz żadnej wartości, domyślnie zostanie użyta wartość „false”.

Metody

activate

Aktywuje ofertę subskrypcji.

batchGet

Odczytuje co najmniej 1 ofertę subskrypcji.

batchUpdate

Aktualizuje grupę ofert subskrypcji.

batchUpdateStates

Aktualizuje stan grupy ofert subskrypcji.

create

Tworzy nową ofertę subskrypcji.

deactivate

Dezaktywuje ofertę subskrypcji.

delete

Usuwa ofertę subskrypcji.

get

Odczytywanie pojedynczej oferty

list

Wyświetla listę wszystkich ofert w ramach danej subskrypcji.

patch

Aktualizuje istniejącą ofertę subskrypcji.

Kody błędów

Operacje na tym zasobie zwracają te kody błędów HTTP:

Kod błędu Przyczyna Rozdzielczość
5xx Ogólny błąd serwera Google Play. Ponów żądanie.

Jeśli problem nie ustąpi, skontaktuj się z menedżerem konta Google Play lub prześlij prośbę o pomoc. Sprawdź panel stanu Google Play, aby dowiedzieć się, czy występują znane awarie.

409 Błąd aktualizacji współbieżnej.

Podjęto próbę zaktualizowania obiektu, który jest aktualizowany. Na przykład zakup jest potwierdzany przez jednoczesne wywołanie metody acknowledgePurchase() Biblioteki płatności w Play i metody purchases.products.acknowledge interfejsu Play Developer API.

Ponów żądanie.