Documentation
Build chat for AI-native apps
SDK and API guides for chat, voice & video, and push.
Chat
One-to-one and group chat, conversations, relationships, history and reliable ordered delivery.
Voice & video
Cloud-native real-time media through one API, hosted or deployed privately.
Push notifications
Integrate the major mobile vendors once and manage credentials in one place.
A name you will meet in the SDK
Why does “floo” keep appearing?
Before floo was a package name, it was a handful of magic. In the Wizarding World, you scatter Floo Powder into a fireplace and ordinary flames flash emerald green. The hearth is no longer a hearth—it is a doorway, and somewhere beyond it an entire network is waiting.
Speak one clear destination and the hidden passages wake. Countless fireplaces become connected points on the same enchanted map; the network finds the right one, opens a route, and lets a traveller vanish here and step out there. Miles collapse into a moment. What matters is not how far the message must travel, but where it belongs.
That is the feeling behind the SDK's original codename. You do not step into the flames—you place a message in the SDK and name a user, group, or device. floo is the passage behind the fireplace: it crosses networks, finds the right destination, delivers the message, and keeps the way open for the reply. Names such as floo-web, floo-ios, and im.floo.floolib are traces of that magic preserved for compatibility, not a separate product or service.
Quick start
Create an application once, then integrate each end. The same App ID works across every client and your backend.
Create an app
Get your App ID, endpoint and access token from the console.
Web & Mini Program
floo-web in browsers, H5, uni-app and WeChat Mini Programs.
iOS
Swift and Objective-C integration on iOS 9.0 and later.
Android
Gradle setup and BMXClient basics on Android 4.1 and later.
C++ & desktop
Use the shared native SDK on Linux, embedded devices, and desktop wrappers.
Server
Authenticate your backend and mint per-user client tokens.
Push notifications
Configure APNs and Android vendor channels for offline delivery.
Voice & video
Add call signalling, rooms, and real-time media to your app.
Private cloud
Deploy the whole stack in your own infrastructure.
References
API surface for each end, all built on the same XSYNC protocol core.
Complete API index
All generated SDK pages and Server Swagger assets, hosted locally.
Web SDK
userManage, rosterManage, groupManage, sysManage.
iOS SDK
BMXClient services, models and listener protocols.
Android SDK
im.floo.floolib classes, managers and listeners.
C++ & desktop
The XSYNC core, Linux SDK and Electron packaging.
Server API
Environments, headers and capability areas.
Error codes
Every BMXErrorCode grouped by area.
Platform support at a glance
iOS
9.0+
Android
4.1+
Web
IE10+, Chrome, Firefox, Safari
Desktop
Electron, x86_64
Linux
C++ on x86 / ARM / MIPS
Mini Programs
WeChat native and uni-app