Skip to main content

Platform Guides

The Hubble SDK can be integrated on any platform that supports a WebView or iframe. Choose your platform below.

Understanding the SDK URL

The Hubble SDK is a hosted web application. You integrate it by loading a URL with your credentials and the user's SSO token.

https://sdk.dev.myhubble.money/
?clientId=YOUR_CLIENT_ID
&appSecret=YOUR_APP_SECRET
&token=YOUR_SSO_TOKEN
&appVersion=1.0.0 // optional
&deviceId=device-abc // optional
ParameterRequiredDescription
clientIdRequiredClient ID provided by the Hubble team during onboarding
appSecretRequiredApp secret provided by the Hubble team (used for server-side config lookup)
tokenRequiredSSO token for the current user, generated by your backend
appVersionOptionalApp version string. Defaults to "10000".
deviceIdOptionalDevice identifier for analytics tracking.

Choose Your Platform

PlatformIntegration MethodGuide
Webiframe with postMessage eventsWeb Integration Guide
AndroidWebView with JavaScript interfaceAndroid Integration Guide
iOSWKWebView with script message handleriOS Integration Guide
React Nativereact-native-webview with onMessageReact Native Integration Guide
Flutterwebview_flutter with JavascriptChannelFlutter Integration Guide
iOS: Use WKWebView Only

When integrating on iOS, you must use WKWebView. Do not use SFSafariViewController — it causes Hubble's fraud detection to fail, blocking transactions.

SDK Events Overview

The SDK communicates with your app through JavaScript messages (events). All platforms receive the same event types, but the mechanism differs:

EventDescriptionWhen to Handle
app_readySDK has fully loaded and is ready for interactionHide loading spinners, log initialization
closeUser tapped the close/back button in the SDKClose the WebView and return to your app
errorAn error occurred in the SDKLog the error, optionally show a fallback UI
Always Handle the close Event

If you do not handle the close event, users will be trapped in the SDK with no way to return to your app. This is the most common integration issue and causes a poor user experience.

Platform Identifiers

When integrating on native platforms, include the wrap-plt parameter to identify the platform:

Platformwrap-plt Value
Androidan
iOSios
React Nativern
Flutterflutter
Web(not required)