InappifySdkPlatform class abstract

Semantic platform boundary for the Inappify SDK.

Implementations own the complete session, including authentication and persistence. The SDK selects exactly one complete implementation during configuration and never falls back operation-by-operation. This invariant prevents token, customer, and offering state from being split across Dart, JavaScript, and native SDKs. Every successful semantic operation must include a complete InappifySdkSnapshot.

Inheritance
  • Object
  • PlatformInterface
  • InappifySdkPlatform
Implementers

Constructors

InappifySdkPlatform()
Creates an Inappify platform implementation.

Properties

events → Stream<InappifyPlatformEvent>
Stream for redirect callbacks and out-of-band native SDK changes.
no setter
hashCode → int
The hash code for this object.
no setterinherited
httpTraces → Stream<InappifyHttpTrace>
Mobile-only, filtered diagnostics; subscriptions opt in to tracing.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

canSetReservedAttribute(InappifyReservedAttributeCapabilityRequest request) → Future<InappifySdkResult<bool>>
Reports whether the browser or native allowlist permits a reserved key.
checkEntitlement(InappifyEntitlementCheckRequest request) → Future<InappifySdkResult<bool>>
Checks an entitlement, optionally refreshing customer information first.
configure(InappifyConfigureRequest request) → Future<InappifySdkResult<void>>
Configures the selected backend and returns its authoritative snapshot.
confirmDelivery(int deliveryId) → Future<InappifySdkResult<PurchaseResult>>
Host must have durably granted this delivery once before calling.
createCheckout(InappifyPurchaseRequest request) → Future<InappifySdkResult<InappifyCheckoutResult>>
Creates a checkout without allowing the backend to navigate the page.
createOtpCaptcha(InappifyNetworkRequest request) → Future<InappifySdkResult<InappifyCaptchaChallenge>>
Creates an explicit CAPTCHA challenge for an OTP request.
customerInfoWithPolicy(InappifyFetchPolicy policy) → Future<InappifySdkResult<CustomerInfo>>
deleteAttributes(InappifyDeleteAttributesRequest request) → Future<InappifySdkResult<List<Attribute>>>
Deletes custom attributes by key.
exchangeIdentityTicket(InappifyIdentityTicketRequest request) → Future<InappifySdkResult<InappifyAuthenticationResult>>
Exchanges a short-lived, single-use Identity Ticket.
flushAttributes() → Future<InappifySdkResult<void>>
getAppVersionInfo() → Future<InappifyAppVersionInfo?>
Returns host application version information when available.
getCapabilities() → Future<InappifyBackendCapabilities>
Reports whether this adapter can own a complete SDK session.
getCheckoutStatus(InappifyCheckoutStatusRequest request) → Future<InappifySdkResult<InappifyCheckoutResult>>
Reads one authoritative checkout status.
getConfiguration() → Future<InappifySdkResult<InappifyConfiguration>>
Returns token-free capabilities and allowlists for the active backend.
getCurrentOffering(InappifyCurrentOfferingRequest request) → Future<InappifySdkResult<OfferingModel>>
Resolves the current offering using backend-owned rules and placement.
getCustomerInfo(InappifyRefreshRequest request) → Future<InappifySdkResult<CustomerInfo>>
Refreshes customer information from the backend that owns the session.
getOffering(String identifier) → Future<InappifySdkResult<OfferingModel>>
getOfferings(InappifyRefreshRequest request) → Future<InappifySdkResult<OfferingsModel>>
Refreshes offerings from the backend that owns the session.
getPendingCheckoutId() → Future<InappifySdkResult<String>>
Returns the non-secret checkout id retained for a browser redirect.
getPlatformVersion() → Future<String?>
Returns a diagnostic description of the host platform.
getPurchaseAttempt(String attemptId) → Future<InappifySdkResult<InappifyPurchaseAttempt>>
getPurchaseAttempts() → Future<InappifySdkResult<List<InappifyPurchaseAttempt>>>
handlePaymentReturn(InappifyPaymentReturnRequest request) → Future<InappifySdkResult<InappifyCheckoutResult>>
Polls authoritative checkout state after a browser payment return.
isPaymentUrlAllowed(String url) → Future<InappifySdkResult<bool>>
login(InappifyLoginRequest request) → Future<InappifySdkResult<void>>
Changes the customer identity owned by the selected backend.
logout() → Future<InappifySdkResult<void>>
Ends the current customer session.
logoutWithRequest(InappifyNetworkRequest request) → Future<InappifySdkResult<void>>
Cancellation-aware logout used by browser backends.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
offeringsWithPolicy(InappifyFetchPolicy policy) → Future<InappifySdkResult<OfferingsModel>>
purchase(InappifyPurchaseRequest request) → Future<InappifySdkResult<PurchaseResult>>
Starts a purchase after configuration.
queueAttributes(Map<String, String?> values) → Future<InappifySdkResult<void>>
requestOtp(InappifyOtpRequest request) → Future<InappifySdkResult<InappifyOtpChallenge>>
Creates an OTP authentication challenge.
restoreCachedSession(InappifyConfigureRequest request) → Future<InappifySdkResult<bool>>
Reads a matching mobile session without network access. A false result is a cache miss, never permission to reuse a different customer's snapshot.
restoreStorePurchases() → Future<InappifySdkResult<InappifyRestoreResult>>
setAttributes(InappifyAttributesRequest request) → Future<InappifySdkResult<List<Attribute>>>
Stores or removes custom customer attributes.
setConsumableDeliveryHandler(InappifyConsumableDeliveryHandler? handler) → Future<InappifySdkResult<void>>
setNetworkEnabled(bool enabled) → Future<InappifySdkResult<void>>
setReservedAttribute(InappifyReservedAttributeRequest request) → Future<InappifySdkResult<void>>
Stores a reserved customer attribute.
setTargetingContext(InappifyTargetingContextRequest request) → Future<InappifySdkResult<void>>
Updates runtime country or app-version targeting inputs.
syncAttributes() → Future<InappifySdkResult<List<Attribute>>>
Synchronizes the complete attribute set for the active customer.
syncAttributesAndOfferingsIfNeeded() → Future<InappifySdkResult<OfferingsModel>>
syncAttributeValues(InappifyAttributesRequest request) → Future<InappifySdkResult<List<Attribute>>>
Synchronizes an explicit attribute list for the active customer.
synchronizeCompatibilityState(InappifySdkSnapshot snapshot) → void
Synchronizes legacy mutable façade fields before a Dart fallback call.
syncPendingConsumables() → Future<InappifySdkResult<InappifyConsumableSyncResult>>
syncStorePurchases() → Future<InappifySdkResult<List<PurchaseResult>>>
toString() → String
A string representation of this object.
inherited
validateDiscountCode(InappifyDiscountCodeRequest request) → Future<InappifySdkResult<ValidateDiscountCodeData>>
Validates a discount code for the active customer.
verifyOtp(InappifyOtpVerificationRequest request) → Future<InappifySdkResult<InappifyAuthenticationResult>>
Verifies an OTP challenge and updates the authoritative session.

Operators

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

Static Properties

instance ↔ InappifySdkPlatform
Active platform candidate used during backend capability negotiation.
getter/setter pair