OpenMobile App SDK (iOS + Android) to embed Spur chatbot and live chat inside your mobile app
Today Spur supports web (script embed), WhatsApp, Instagram and Facebook. There's no native way to add Spur inside a brand's iOS or Android app. Embedding the web widget script inside a mobile app doesn't work cleanly: no push notifications, broken identity persistence, feels foreign inside the app, no hooks into the app's native screens or features. Use case we're seeing A services brand wants their "Help & Support" menu inside their mobile app to launch the Spur chatbot. The bot should: 1. Show a 4-button menu (Pre-booking, Active Orders, Post Service, Account/Wallet). 2. Branch into the right flow on each tap. 3. Pull live order status from their backend via API. 4. Raise a ticket in their CRM or hand off to IVR (voice) for complaints. Same pattern applies to D2C brands with their own apps, fintech, healthtech, edtech, q-commerce, logistics. Any brand with a mobile app that today has either no in-app support, or a clunky third-party chat widget inside a WebView. What the SDK should do 1. Programmatic launch. Spur.openChat() from any button or screen. 2. Launch into a flow. Spur.openChat(flowId: "pre_booking") so brands can wire their own UI to specific Spur flows. 3. Identity verification. HMAC-signed user ID so the user is already logged in when they open chat. No re-asking phone or email. 4. User attributes + events. Pass the logged-in user's name, phone, order ID, wallet balance, plan tier. Track in-app events for segmentation. 5. Bot to app events. Bot can fire an event the app listens for: open dialer for IVR, deep link to wallet screen, close chat. 6. Push notifications. FCM (Android) + APNS (iOS) so users get pinged when an agent replies. 7. Theming. Brand color, logo, header copy, launcher icon. 8. Conversation continuity. Same conversation visible on web widget, iOS, Android. Platform coverage Native iOS (Swift), native Android (Kotlin), plus wrappers for React Native and Flutter. Most modern apps are RN or Flutter, so the wrappers matter as much as native. How the rest of the industry does this Every serious chatbot and live chat player ships a native mobile SDK. Examples: 1. Intercom. Native iOS + Android SDKs, plus React Native, Flutter, Cordova wrappers. Intercom.present() opens the Messenger as a native bottom sheet. HMAC identity, push, custom attributes, in-app messages. 2. Zendesk. Messaging SDK for iOS + Android, ~7.5MB footprint. Configured via Channel ID in admin, customised in the Zendesk dashboard. 3. Freshchat (Freshworks). Native iOS + Android. Web widget config (topics, KB, branding) inherited automatically. External ID + Restore ID pattern for cross-platform continuity. 4. Haptik. HaptikLib for iOS + Android. Pitched as "embed our assistant in your app." 5. Yellow.ai. Native Android + iOS. Notably also exposes a Fragment / ViewController so the bot can be embedded inline inside an existing app screen, not just as a popover. Bot to app and app to bot event listeners. 6. QuickReply. Direct competitor, has a mobile SDK (this came up in a prospect call where we lost on the mobile experience comparison). Why this matters for Spur 1. Unlocks non e-commerce verticals (services, fintech, healthtech, logistics) where the app is the primary surface, not the website. 2. Closes the gap with QuickReply and the larger players on the mobile experience question. 3. For our existing D2C brands with custom mobile apps, gives one continuous Spur experience across web, app, WhatsApp, Instagram and Facebook.
Rohan Rajpal·6 days ago