Product
Product#
Represents a product available for purchase in the store. The type is a union of ProductIOS and ProductAndroid, discriminated by the platform field.
Cross-platform one-time product shape returned by fetchProducts. iOS: derived from Product (Apple docs). Android: derived from ProductDetails (Google docs).
Native references: Apple · StoreKit Product · Google · ProductDetails
Common Fields#
These fields are available on both iOS and Android:
| Name | Summary |
|---|---|
id | Unique product identifier configured in App Store Connect or Google Play Console |
title | Localized product title |
description | Localized product description |
type | Product type: "in-app" for consumables/non-consumables, "subs" for subscriptions |
displayName | Display-friendly product name (optional) |
displayPrice | Formatted price with currency symbol (e.g., "$9.99", "₩12,000") |
currency | ISO 4217 currency code (e.g., "USD", "KRW") |
price | Numeric price value (e.g., 9.99) |
debugDescription | Debug-friendly description (optional) |
store | Store discriminator: "apple", "google", or "horizon" |
Platform-Specific Fields#
ProductIOS#
Additional fields available on iOS:
| Name | Summary |
|---|---|
typeIOS | Detailed product-type wire value: consumable, non-consumable, auto-renewable-subscription, non-renewing-subscription, subscription-bundle, or subscription-suite. The final two values require an Xcode 27 build and Apple 27 runtime. |
isFamilyShareableIOS | Whether the product supports Family Sharing |
displayNameIOS | iOS-specific display name |
subscriptionOffers | Cross-platform array of SubscriptionOffer — unified across iOS/Android. |
pricingTermsIOS | StoreKit 26.4 subscription billing plans, including monthly commitment and up-front pricing terms. See SubscriptionPricingTermsIOS. |
bundledSubscriptionsIOS | Component subscriptions for an Apple Subscription Bundle or Suite, including product identity, display metadata, price, Family Sharing state, and subscription-group metadata. Available on ProductSubscriptionIOS with Xcode 27 and Apple 27; otherwise null. |
jsonRepresentationIOS | Raw StoreKit 2 JWS payload as a JSON string. |