Use this page with AI
Copy this into your coding assistant and add your request.
Read https://openiap.dev/docs/types/product and https://openiap.dev/llms.txt. Follow the reading instructions, detailed reference, and linked guides relevant to my task before making changes.
Inspect my existing project and reuse its framework and conventions. Ask me for missing product decisions. Implement the requested behavior and run the applicable checks.
Show the working result, the commands and actual test results, and any remaining limitations. Keep your explanation brief.
My request: [describe what customers should be able to do]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. |