Skip to content

v0.2.1

Choose a tag to compare

@abbasvaranloo abbasvaranloo released this 22 Oct 08:36

Add persistent Android purchase-attempt tracking, iOS attribute/Offering synchronization, and Web discounts for a selected Offering.

  • Expose typed purchaseUpdates, event.purchaseAttempt, getPurchaseAttempt and getPurchaseAttempts for correlated Android purchase and recovery outcomes, including Direct payments and app restart.
  • Implement iOS syncAttributesAndOfferingsIfNeeded through the existing attribute queue, storage, snapshots and events. Match Android's five-admission rolling-minute limit and current-session cache fallback.
  • Add optional named offeringIdentifier to getDiscountedPaymentLinks and getDiscountedPaymentLinksResult. Web forwards the exact selection, rejects blank selectors and mismatched returned Offerings, and preserves its catalog. Android/iOS retain their code-only discount-link behavior.
  • Pin Android to Kotlin SDK v0.2.1; align Flutter, iOS and runtime metadata at 0.2.1.
  • Preserve existing purchase, cache, delivery and recovery contracts.

Validation: 398 Flutter SDK tests passed. Full static analysis passed with existing informational lints. Native validation is recorded in SDK CI.

Install: inappify_sdk: ^0.2.1.

Direct payment-attempt reconciliation also requires the coordinated Go/Laravel backend changes and migration described in the Kotlin release notes.