AppDNABillingProvider class

Who owns store transactions — applies on iOS and Android.

Only storeKit2 (the default: AppDNA's own billing — StoreKit 2 on iOS, Google Play Billing on Android) lets the SDK buy, finish (iOS) and acknowledge (Android) purchases. Under revenueCat, adapty or none the SDK never finishes, acknowledges or consumes a transaction: a paywall plan tap reports onPaywallPurchaseFailed with errorType: 'providerNotAvailable' and the tapped productId, so your app starts the purchase with its own provider; billing.restorePurchases() throws RESTORE_ERROR with details['errorType'] == 'providerNotAvailable'.

Value-less providers cross the channel as a bare string; adapty carries an API key and crosses as a tagged map {"type":"adapty","apiKey":"…"} — mirroring the native BillingProvider.adapty(apiKey:) associated-value case. An adapty provider with an empty key is refused (logged) and the SDK uses the default storeKit2, on both platforms.

Constructors

AppDNABillingProvider.adapty(String apiKey)
Adapty billing, keyed by your Adapty public SDK key.
factory

Properties

apiKey → String?
Adapty public SDK key (only set for the adapty provider).
final
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
type → String
Provider discriminator: storeKit2 | revenueCat | adapty | none.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Object
Channel encoding: a bare string for value-less cases, a tagged map for adapty.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited