Google Play Product Details
Google Play products have a deeply nested structure of objects, containing different information. In our Android and Cross-platform SDKs, we have represented several wrapping classes, containing all the information received from Google Play Billing Library. Below are the specifications of those classes.
QProductStoreDetails
class contains core information about the store product.
Field | Type | Description |
---|---|---|
originalProductDetails | ProductDetails | Original product details received from Google Play Billing Library. |
basePlanId | String | Identifier of the base plan to which these details relate. Null for in-app products or if not specified in the Qonversion Dashboard. |
productId | String | Identifier of the subscription or the in-app product. |
name | String | Name of the subscription or the in-app product |
title | String | Title of the subscription or the in-app product. The title includes the name of the app. |
description | String | Description of the subscription or the in-app product. |
subscriptionOfferDetails | QProductOfferDetails[] | Offer details for the subscription. Offer details contain all the available variations of purchase offers, including both base plan and eligible base plan + offer combinations from Google Play Console for the current basePlanId . Null for in-app products or if basePlanId is not specified in the Qonversion Dashboard. |
defaultSubscriptionOfferDetails | QProductOfferDetails | The most profitable subscription offer for the client in our opinion from all the available offers. We calculate the cheapest price for the client by comparing all the trial or intro phases along with the base plan. |
basePlanSubscriptionOfferDetails | QProductOfferDetails | Subscription offer details containing only the base plan without any offer. |
inAppOfferDetails | QProductInAppDetails | Offer details for the in-app product. Null for subscriptions. |
hasTrialOffer | Boolean | True , if there is any eligible offer with a trial for this subscription and base plan combination. False otherwise or for an in-app product. |
hasIntroOffer | Boolean | True , if there is any eligible offer with an intro price for this subscription and base plan combination. False otherwise or for an in-app product. |
hasTrialOrIntroOffer | Boolean | True , if there is any eligible offer with a trial or an intro price for this subscription and base plan combination. False otherwise or for an in-app product. |
productType | QProductType | The calculated type of the current product. |
isInApp | Boolean | True , if the product type is InApp . |
isSubscription | Boolean | True , if the product type is Subscription . |
isPrepaid | Boolean | True , if the subscription product is prepaid, which means that users pay in advance - they will need to make a new payment to extend their plan. |
QProductOfferDetails
class contains all the information about the Google subscription offer details. It might be either a plain base plan details or a base plan with concrete offer details.
Field | Type | Description |
---|---|---|
originalOfferDetails | SubscriptionOfferDetails | Original subscription offer details received from Google Play Billing Library. |
basePlanId | String | The identifier of the current base plan. |
offerId | String | The identifier of the concrete offer, to which these details belong. Null , if these are plain base plan details. |
offerToken | String | A token to purchase the current offer. |
tags | String[] | List of tags set for the current offer. |
pricingPhases | QProductPricingPhase[] | A time-ordered list of pricing phases for the current offer. |
basePlan | QProductPricingPhase | A base plan phase details. |
trialPhase | QProductPricingPhase | A trial phase details, if exists. |
introPhase | QProductPricingPhase | An intro phase details, if exists. The intro phase is one of single or recurrent discounted payments. |
hasTrial | Boolean | True , if there is a trial phase in the current offer. False otherwise. |
hasIntro | Boolean | True , if there is any intro phase in the current offer. False otherwise. The intro phase is one of single or recurrent discounted payments. |
hasTrialOrIntro | Boolean | True , if there is any trial or intro phase in the current offer. False otherwise. The intro phase is one of single or recurrent discounted payments. |
QProductPricingPhase
class represents a pricing phase, describing how a user pays at a point in time.
Field | Type | Description |
---|---|---|
originalPricingPhase | PricingPhase | Original pricing phase received from Google Play Billing Library |
price | QProductPrice | Price for the current phase. |
billingPeriod | QSubscriptionPeriod | The billing period for which the given price applies. |
billingCycleCount | Int | Number of cycles for which the billing period is applied. |
recurrenceMode | QProductPricingPhase.RecurrenceMode | Recurrence mode for the pricing phase. |
type | QProductPricingPhase.Type | Type of the pricing phase. |
isTrial | Boolean | True , if the current phase is a trial period. False otherwise. |
isIntro | Boolean | True , if the current phase is an intro period. False otherwise. The intro phase is one of single or recurrent discounted payments. |
isBasePlan | Boolean | True , if the current phase represents the base plan. False otherwise. |
QSubscriptionPeriod
class describes a subscription period.
Field | Type | Description |
---|---|---|
unitCount | Int | A count of subsequent intervals. |
unit | QSubscriptionPeriod.Unit | Interval unit. |
iso | String | ISO 8601 representation of the period, e.g. "P7D", meaning 7 days period. |
QProductInAppDetails
class contains all the information about the Google in-app product details.
Field | Type | Description |
---|---|---|
originalOneTimePurchaseOfferDetails | OneTimePurchaseOfferDetails | Original one-time purchase offer details received from Google Play Billing Library. |
price | QProductPrice | The price of the in-app product. |
QProductPrice
class contains information about the product's price.
Field | Type | Description |
---|---|---|
priceAmountMicros | Long | Total amount of money in micro-units, where 1,000,000 micro-units equal one unit of the currency. |
priceCurrencyCode | String | ISO 4217 currency code for price. |
formattedPrice | String | Formatted price for the payment, including its currency sign. |
isFree | Boolean | True , if the price is zero. False otherwise. |
currency | Currency | Currency object from the priceCurrencyCode . Null if failed to parse. |
currencySymbol | String | Price currency symbol. Null if failed to parse. |
QSubscriptionPeriod.Unit
is the enumeration of the following values: Day
, Week
, Month
, Year
, Unknown
.
QProductPricingPhase.RecurrenceMode
describes the recurrence mode of the pricing phase and contains the following values.
Value | Description |
---|---|
InfiniteRecurring | The billing plan payment recurs for infinite billing periods unless canceled. |
FiniteRecurring | The billing plan payment recurs for a fixed number of billing periods. |
NonRecurring | The billing plan payment is a one-time charge that does not repeat. |
Unknown | Unknown recurrence mode. |
QProductPricingPhase.Type
describes the type of the pricing phase and contains the following values.
Value | Description |
---|---|
Regular | Regular subscription without any discounts like trial or intro offers. |
FreeTrial | A free phase. |
DiscountedSinglePayment | A phase with a discounted payment for a single period. |
DiscountedRecurringPayment | A phase with a discounted payment for several periods. |
Unknown | Unknown pricing phase type. |
Updated 11 months ago