appactor_flutter 0.0.23
appactor_flutter: ^0.0.23 copied to clipboard
AppActor Flutter SDK — server-authoritative in-app purchase management for iOS and Android.
Changelog #
0.0.23 #
- Updated the Android native dependency to
com.appactor:appactor-plugin:2.3.14: Google Play subscription purchases that do not name an explicit offer now auto-apply the best eligible offer Play returns for the base plan (longest free trial, else cheapest introductory price, else the base plan) — matching RevenueCat / Adapty. The native SDK also now exposes the resolved offer's pricing phases so trial/intro pricing can be surfaced. iOS is unaffected.
0.0.22 #
- Updated the Android native dependency to
com.appactor:appactor-plugin:2.3.13: a Google Play subscription that names a specific offer (e.g. a free trial) now falls back to the base plan when Play omits that offer for a returning / trial-ineligible user, so the user is charged the standard price instead of being unable to subscribe. iOS is unaffected.
0.0.21 #
- Updated native dependencies to carry the cold-start improvements: iOS
AppActorPlugin 0.1.12and Androidcom.appactor:appactor-plugin:2.3.12(cache-first/offline entitlement seeding at launch; skipped redundant device-attribute sync).
0.0.20 #
- Updated native dependencies to carry the audit-revision fixes: iOS
AppActorPlugin 0.1.11(flutter-6 non-subscriptionoriginal_transaction_identifier; ios-7 StoreKit product-cache TTL) and Androidcom.appactor:appactor-plugin:2.3.11(android-7 receipt-queue quarantine; android-12 bridge threading; android-25 date dedup).
0.0.19 #
- Updated the Android native dependency to
com.appactor:appactor-plugin:2.3.10(AppActorPaymentProcessor god-class decomposition; behavior-preserving, public API unchanged). iOS native dependency stays atAppActorPlugin 0.1.10.
0.0.18 #
- Breaking: removed
AppActorPackage.toPurchaseParams()and its deprecatedtoJson()alias. The purchase wire payload is built frompackage_id(plus optionaloffering_id/old_purchase_token/replacement_mode/quantity/placement); the native SDK resolvesproduct_id/store/base_plan_id/offer_idserver-side. (audit finding flutter-9) - Fixed: a failed optional Apple Search Ads enable inside
configure()no longer rejects theconfigure()Future after the core native configure has already succeeded. (audit finding flutter-1) - Raised the iOS deployment target to
15.1(from15.0). - Updated native SDK dependencies to iOS
AppActorPlugin 0.1.10and Androidappactor-plugin 2.3.9, delivering the iOS/Android audit fixes (ios-2/3/16/17/19, android-3/4/6/10/19) to Flutter consumers.
0.0.17 #
- Updated native SDK dependencies to Android
2.3.8and iOS0.1.9for Apple renewal coalescing cleanup hardening and current Android publication metadata.
0.0.16 #
- Updated native SDK dependencies to Android
2.3.7and iOS0.1.8for profile context identity-transition hardening.
0.0.15 #
- Documented that native iOS/Android SDKs now automatically sync privacy-safe profile context during
configure(). - Clarified that
collectDeviceIdentifiers()remains the explicit opt-in path for additional native identifiers. - Updated native SDK dependencies to Android
2.3.6and iOS0.1.7.
0.0.14 #
- Updated native SDK dependencies to Android
2.3.5and iOS0.1.6for quietsyncPurchasesparity and app-open renewal coalescing. - Documented
syncPurchases()as the quiet sync API while keepingdrainReceiptQueueAndRefreshCustomer()as the explicit queue-drain API.
0.0.13 #
- Added optional Flutter purchase placement forwarding for
purchasePackage; null or blank placements are omitted from the native payload. - Updated native SDK dependencies to Android
2.3.4and iOS0.1.5for purchase placement support.
0.0.12 #
- Updated native SDK dependencies to Android
2.3.3and iOS0.1.4for attribution helper null-clear parity and Android quantity validation. - Added Flutter-side purchase quantity validation for values below
1while keeping native platforms responsible for supported quantity limits. - Documented Android's current quantity limit and expanded attribution helper null-clear coverage.
0.0.11 #
- Updated native SDK dependencies to Android
2.3.2and iOS0.1.3for polished customer attributes, integration identifiers, attribution helpers, and typed date payload parity. - Added RevenueCat-style convenience helpers such as
setAppsflyerID,setAdjustID,setMediaSource, andsetCampaign. - Tightened Flutter attribute validation so nulls require
unsetAttribute, mixed arrays are rejected, and date values use a typed envelope.
0.0.10 #
- Updated native SDK dependencies to Android
0.1.3and iOS0.1.2for queued transaction update source-intent parity.
0.0.9 #
- Updated native SDK dependencies to Android
0.1.2and iOS0.1.1for source intent receipt classification support.
0.0.8 #
- Updated native SDK dependencies to Android
0.1.1and iOS0.1.0. - Removed stale ASA diagnostics pending-user-id fields that are no longer emitted by the native iOS SDK.
0.0.7 #
- Updated the Android native dependency to
0.1.0. - Exposed optional package
price_amount_microsparsing for Android price visibility while leaving iOS payloads compatible.
0.0.6 #
- Updated native SDK dependencies to
0.0.9on Android Maven Central and iOS CocoaPods/SPM. - Native: Android purchase lookup now resolves through
storeProductIdwhile preserving public product identifiers. - Native: hardened identity-transition purchase update handling and remote config / experiment cache isolation.
- Native: iOS response signature checks now bind cacheable requests to the full path/query target.
0.0.5 #
- Updated native SDK dependencies to
0.0.8on Android Maven Central and iOS CocoaPods/SPM. - Breaking: removed
isConfigured()to match the native plugin contract.configure()is now the readiness boundary and returns after native bootstrap completes. - Added
configure(..., appUserId: ...)so Flutter can start with an explicit identity or let native reuse/create the anonymous user during bootstrap. configure()now sends canonical nestedoptions.platform_infometadata to the native plugins.
0.0.4 #
- Updated native SDK dependencies to 0.0.4 (Android Maven Central + iOS CocoaPods/SPM).
- Added
quietSyncPurchases()anddrainReceiptQueueAndRefreshCustomer()to match the new native plugin requests. syncPurchases()now follows native 0.0.4 behavior and drains the receipt queue before refreshing customer info.- Refreshed README and example actions for the 0.0.4 purchase sync surface.
0.0.3 #
- Updated native SDK dependencies to 0.0.3 (Android Maven Central + iOS CocoaPods/SPM).
- Added
AppActorVerificationResultenum — exposes server response signature verification status (notRequested,verified,verifiedOnDevice,failed). - Added
verificationfield toAppActorCustomerInfoandAppActorOfferings. - Native: CDN-cacheable response signing (salt-based verification for offerings and remote config endpoints).
- Native: transient error cache fallback — network errors, 5xx, and rate-limit responses now return stale cache instead of failing.
- Native: always-network with ETag/304 optimization for
getCustomerInfo()— removes stale cache window. - Native: 304 cache miss recovery — retries without ETag instead of throwing.
0.0.2 #
- Updated native SDK dependencies to 0.0.2 (Android Maven Central + iOS CocoaPods/SPM).
- Added
offeringIdfield toAppActorPackagefor purchase analytics attribution. - Native pipeline hardening: partial batch sync recovery, dead-letter retry at startup, identity transition buffer overflow handling.
- Native storage improvements: receipt queue persist failure recovery with graceful degradation.
- Native error reporting: structured rate-limit information (
scope,retryAfterSeconds) now available onAppActorError— fields were already present in the Dart model since 0.0.1. - iOS: fixed 304 cache inconsistency fallback and cross-user cache guard.
0.0.1 #
- Initial release of AppActor Flutter SDK.