Skip to main content

1.2.1 - OpenIAP Updates & DSL Enhancements

· 2 min read
Hyo

KMP-IAP 1.2.1 is a patch release that updates OpenIAP dependencies and adds DSL improvements for better developer experience.

What's New

OpenIAP Dependency Updates

Updated to the latest OpenIAP versions:

  • openiap-apple: 1.3.7 (was 1.3.5)
  • openiap-google: 1.3.15 (was 1.3.14)
  • openiap-gql: 1.3.8 (was 1.3.5)

DSL Improvements

Added google {} and apple {} DSL aliases for platform-specific purchase configurations:

// Before: Only android {} and ios {} were available
val purchaseProps = purchase {
type = ProductType.InApp
ios { sku = "com.example.premium" }
android { skus = listOf("premium_upgrade") }
}

// After: google {} and apple {} are now available as aliases
val purchaseProps = purchase {
type = ProductType.InApp
apple { sku = "com.example.premium" } // alias for ios {}
google { skus = listOf("premium_upgrade") } // alias for android {}
}

advancedCommerceData Support

Added advancedCommerceData property to IosOptionsBuilder for StoreKit 2's Product.PurchaseOption.custom API (iOS 18+):

val purchaseProps = purchase {
type = ProductType.InApp
apple {
sku = "com.example.premium"
advancedCommerceData = "campaign_summer_2025"
}
}

Billing Programs API (Stub)

Added interface methods for Billing Programs API (Android 8.2.0+):

  • isBillingProgramAvailableAndroid(program)
  • createBillingProgramReportingDetailsAndroid(program)
  • launchExternalLinkAndroid(params)

Note: These methods are currently stubs that throw FeatureNotSupported. Full implementation will be available when openiap-google updates to Billing Library 8.2.0+.

OpenIAP Versions

Current OpenIAP versions:

  • openiap-apple: 1.3.7
  • openiap-google: 1.3.15
  • openiap-gql: 1.3.8

Installation

Gradle (Kotlin DSL)

// shared/build.gradle.kts
kotlin {
sourceSets {
commonMain.dependencies {
implementation("io.github.hyochan:kmp-iap:1.2.1")
}
}
}

Version Catalog (libs.versions.toml)

[versions]
kmp-iap = "1.2.1"

[libraries]
kmp-iap = { module = "io.github.hyochan:kmp-iap", version.ref = "kmp-iap" }

CocoaPods

pod 'kmp-iap', '~> 1.2.1'

What's New in 1.2.x

If you're upgrading from 1.0.x or 1.1.x, check out the 1.2.0 release notes for the full list of new features including:

  • Billing Programs API (Android 8.2.0+) - External billing support
  • One-Time Product Discounts (Android 7.0+) - Discount and offer support
  • Purchase Suspension Status (Android 8.1.0+) - Payment issue detection

References

Questions or feedback? Reach out via GitHub Issues.