MethodChannelInappifySdk class

MethodChannel implementation of the complete Inappify platform contract.

Android advertises and owns the complete protocol-v1 mobile lifecycle. Bazaar and Myket use the same configure, purchase, recovery and delivery commands; native Kotlin SDK owns billing, receipt validation and consumption. iOS intentionally reports a non-owning capability, so the same façade keeps its existing Dart backend there without platform checks in public code.

Inheritance

Constructors

MethodChannelInappifySdk({MethodChannel? methodChannel, EventChannel? eventChannel, EventChannel? httpEventChannel, String requestIdGenerator()?})

Properties

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

Operators

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