Skip to main content

Mobile SDKs

Mobile SDKs handle Bluetooth device communication, audio transfer, and upload to Bota’s API.

React Native

The official React Native SDK for integrating Bota devices into your mobile app.

npm Package

@bota.dev/react-native-sdk

GitHub

Source code and documentation
Features:
  • Device discovery and Bluetooth connection
  • Automatic reconnection by serial number
  • Device provisioning with tokens
  • Recording transfer from device (batch sync)
  • Streaming sync — upload audio via Bluetooth while device is still recording
  • Background upload queue with retry
  • Battery and storage monitoring
  • WiFi network scanning and configuration (for WiFi-capable devices)
Peer Dependencies:
  • react >= 18.0.0
  • react-native >= 0.72.0
  • react-native-ble-plx ^3.0.0
  • @react-native-async-storage/async-storage ^1.21.0
  • react-native-wifi-reborn >= 4.0.0 (optional — for WiFi scanning)
Quick Start:
Streaming sync uploads audio from the device while it’s still recording. If Bluetooth disconnects, the recording is safe on the device’s SD card and batch sync picks it up later. See the Streaming Upload guide for details.
Mobile SDK reconnect identifies the physical device by serial number and cached BLE identity. It does not replace the Bota API device ID (dev_*). Store the dev_* returned when you register the device and keep it mapped to the serial number for later API calls. If needed, recover the ID with GET /v1/devices?serial_number={SN}.

Native iOS and Android

Native Swift/iOS and Kotlin/Android SDKs are not published today. Use the React Native SDK for mobile device integration.

Server SDKs

Server SDKs for backend integration with the Bota API.

Node.js / TypeScript (Coming Soon)

Python (Coming Soon)

Go (Coming Soon)

Example Apps

Complete example applications demonstrating SDK integration.

Examples Repository

Full working examples including React Native app with device pairing, recording sync, and backend integration.

Using the OpenAPI Spec

Until official server SDKs are published, you can generate clients from our OpenAPI specification:
Tools like openapi-generator or Speakeasy work well with our spec.