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> > -
handleDeepLink(
String url) → Future< InappifySdkResult< bool> > -
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