OfferInfo
Typed view over a subscription ProductDetails.SubscriptionOfferDetails, surfacing the trial / intro / base pricing phases as flat fields for easy UI binding.
Each Play subscription offer can have up to three pricing phases:
free trial —
priceAmountMicros == 0,RecurrenceMode.FINITE_RECURRINGintroductory —
priceAmountMicros > 0,RecurrenceMode.FINITE_RECURRINGbase —
RecurrenceMode.INFINITE_RECURRING
Use AppPurchase.getOffers, AppPurchase.getTrialOffer, or AppPurchase.getBaseOffer to obtain instances — do not construct directly.
Since
3.5.7
Constructors
Properties
Base plan id from Play Console (null on legacy or simple offers).
Base price in micros, or 0.
ISO-8601 base billing cycle (e.g. "P1M", "P1Y"), or null.
ISO-4217 currency code (e.g. "USD"); falls back to intro/trial currency if base is absent.
true when the offer has a paid finite-recurring (intro) phase.
Number of billing cycles the intro phase covers, or 0.
ISO-8601 intro period (e.g. "P1M"), or null.
Raw intro phase, or null.
Locale-formatted intro price (e.g. "$1.99"), or null.
Intro price in micros (price × 1,000,000), or 0.
true when the offer has a free-trial phase.
Opaque token passed to com.android.billingclient.api.BillingFlowParams when launching purchase.
Raw phase list — use the typed trial* / intro* / base* fields where possible.
ISO-8601 trial duration (e.g. "P7D"), or null.
Raw trial phase, or null.