starti.app devpage
Nothing matches that.
Nothing matches that.
startiapp.AppThe SDK already falls back on old shells. Ask only when your own page should look different — hiding a button rather than sending the user somewhere unexpected.
startiapp.AppWhich address the app opens on. It survives restarts, so pointing it at your dev server keeps the app loading it until you reset.
startiapp.AppsetStatusBar patches — what you leave out keeps its current value, so you can change the content colour without touching the background.
The overlay the app draws while a page loads.
startiapp.App
Turn swipe navigation off while your own horizontal gesture is on screen — a carousel
and the app's back swipe fight over the same drag. Any site that routes with
history.pushState needs it off too: the shell's swipe does not traverse
in-document history, it re-navigates to the start URL. This page turns it off
for exactly that reason, as initialize({ allowSwipeNavigation: false })
rather than a call around initialize: the SDK's own default in the options stack is
true, so a disable before it is overwritten and one after it leaves a gap
where the gesture is live. Switch it back on here to feel what it was doing.
The shell calls window.onBackButtonPressed on every press. Return true and you have handled it. onBackButtonPressedFallback runs only when there is no history left — where "press again to exit" belongs.
startiapp.AppThree ways, not interchangeable. The secure browser is the OS sheet presented over your app and it shares the system browser's cookies — sign-in, payment and legal pages belong there. The external browser hands the URL to the browser app and backgrounds yours. The in-app browser is what plain links get; it keeps its own cookies, so a user signed in elsewhere arrives signed out.
startiapp.AppInternal domains open in the app's own webview; external ones leave it. Note the shapes differ — internal takes a string, external takes regular expressions.
startiapp.AppAlternate icons shipped with this build. iOS shows a system alert when the icon changes; you cannot suppress it.
startiapp.AppChooses which of the brand's splash animations the app opens with next time. The app builds its splash before this page exists, so nothing here changes the one you just watched — set it, kill the app, open it again. A name this build does not have opens the default rather than failing.
startiapp.App.vibrateNothing happens on a device with haptics switched off in the OS, so never make feedback the only signal.
The SDK vibrates on tap for anything carrying one of these classes.
startiapp.AppEach of these takes the screen, so the app queues them behind anything already up.
startiapp.Auth
signIn hands the flow to the OS and returns an authorization code your backend
exchanges for tokens. Below shell 3.992.0 the options argument is dropped and the shell
signs in with its defaults, so scope and requireSsn silently do
nothing there — check App.supports("signInOptions") if that matters.
startiapp.Auth fires authenticationCompleted. It is logged from load — see the Console tab.startiapp.BiometricsAnything JSON-serialisable, held in the OS keystore and released only after a successful scan. Where a refresh token belongs.
start… hooks your existing form by selector, so you do not restructure your
login page: it captures the fields when submit is pressed and holds them.
end… — called once your backend confirms the login — is what asks the user
whether to save.
startiapp.UserRegister the id your own system knows this person by and your backend can reach them with one HTTP call — no push plumbing. Request notification access first, register at every login, unregister at logout or the next person on this device gets their notifications.
Not an SDK call — a plain POST, exactly what your backend would send once the id above is registered.
startiapp.TriggerWhat segments and automations are built from in the Manager. Names and values are case sensitive, and a decimal must use a full stop — a comma is read as a thousands separator and the value arrives wrong.
startiapp.PushNotification
requestAccess raises the OS prompt once per install; after that only OS
settings can change the answer. The SDK reconciles the real permission with the backend on
every launch, so someone toggling it in settings is picked up without you asking again.
Defined per brand in the Manager. Fetching fills the list; a tick subscribes straight away.
tokenRefreshed and notificationReceived are logged from load. Send yourself a push and open the Console tab.startiapp.QrScannerTakes the whole screen and resolves with the value, or null if the user backs out.
startiapp.NfcScanneriOS presents its own system sheet while scanning; Android does not — so check isNfcEnabled and say something yourself if it is off.
startiapp.LocationHigher accuracy costs battery and time. reducedAccuracy in the result means the user granted approximate location only.
Updates arrive on locationChanged, in the Console. Leave it running and the battery goes.
Survive the app being closed: crossing the boundary wakes it and fires onRegionEntered or onRegionExited. Needs background location permission.
startiapp.Media0 to 1. The slider follows the hardware buttons through volumeChanged — press them and watch it move.
startiapp.Sharestartiapp.InAppPurchase
Every call answers { success: true, value } or
{ success: false, errorMessage } rather than throwing, so a cancelled purchase
is not an exception. Grant the entitlement on your backend before you finish the
transaction — finish it first and the user has paid for nothing.
Unfinished ones arrive on unfinishedTransaction and appear below. Tap one to fill the field.
startiapp.ExternalPurchaseCustomLinkApple's External Purchase Custom Link entitlement. The notice is mandatory and must be shown before the user leaves; the tokens are what your checkout has to carry so Apple can reconcile the sale. The entitlement is per storefront — check the country first.
startiapp.Storage
The same shape as localStorage but promise-based and held by the app rather
than the webview, so it survives a cache clear. A shell too old for the bridge falls back
to localStorage without telling you — isUsingNativeBridge() is how
you find out which you got.
startiapp.IntroFlow
By default the flow opens on load and you never touch this. Turning manual trigger on
in the Manager holds it back until show() is called — and that is the only
thing the setting changes. Which steps this user still has to see, and in what order, is
decided the same way either way.
introFlowLoaded and introFlowClosed on document, wherever it mounts. Both are logged from load.