Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.plaud.ai/llms.txt

Use this file to discover all available pages before exploring further.

Installation

iOS (Swift)

.package(url: "https://github.com/plaud/plaud-ios-sdk.git", from: "2.1.0")
import PlaudSDK
Requirements: iOS 13.0+, Xcode 15.0+, Swift 5.7+ Add to Info.plist:
  • NSBluetoothAlwaysUsageDescription
  • NSLocationWhenInUseUsageDescription

Android (Kotlin)

dependencies {
    implementation(name: "plaud-sdk", ext: "aar")
    implementation "com.google.guava:guava:28.2-android"
    implementation "com.squareup.retrofit2:retrofit:2.9.0"
    implementation "com.squareup.retrofit2:converter-gson:2.9.0"
    implementation "com.squareup.okhttp3:okhttp:4.10.0"
}
Requirements: Android API 21+ (target 34), Kotlin 1.6.21+, Gradle 7.3.1+ Add to AndroidManifest.xml: BLUETOOTH_SCAN, BLUETOOTH_CONNECT, ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE, CHANGE_WIFI_STATE, INTERNET

Initialization

iOS
PlaudSDK.initialize(clientId: "YOUR_CLIENT_ID", mode: .sandbox)
Android
NiceBuildSdk.initSdk(
    context = applicationContext,
    bleAgentListener = bleAgentListener,
    hostName = "YourAppName",
    partnerToken = "YOUR_PARTNER_TOKEN"
)

Core Methods

Scan for devices

  • iOS: PlaudSDK.startScan() → via delegate plaud(didDiscover devices:)
  • Android: bleAgent.scanBle(true) → via listener scanBleDeviceReceiver(device:)

Connect & disconnect

  • iOS: PlaudSDK.connect(serial:) / disconnect() / unbind()
  • Android: bleAgent.connectionBLE() / disconnectBle() / unBindDevice()
Connection states: 0 = disconnected, 1 = connected, 2 = failed

Recording control

  • iOS: PlaudSDK.startRecord() / stopRecord()
  • Android: bleAgent.startRecord(scene:) / stopRecord(scene:)

File list & export

iOS
PlaudSDK.getFileList(startSessionId:)
PlaudSDK.exportAudio(sessionId:outputDir:format:channels:callback:)
// format: .wav or .pcm  |  channels: 1
PlaudSDK.deleteFile(sessionId:)
Android
BleCore.getInstance().getFileList(sessionId:)
NiceBuildSdk.exportAudio()
bleAgent.deleteFile()
Export handles BLE download + E2EE decryption + format conversion.

Wi-Fi Fast Transfer

iOS

PlaudSDK.setDeviceWiFi(open: true)
// Receive via delegate:
// bleWiFiOpen(_ status:, _ wifiName:, _ wholeName:, _ wifiPass:)
PlaudSDK.connectWifi(wifiName, wifiPass, 60)
// Export once connected:
PlaudSDK.exportAudioViaWiFi(...)

Android

NiceBuildSdk.startWifiTransfer(userId, object : IWifiAgent.WifiTransferCallback { ... })
// States: NONE → CONNECTING → CONNECTED → HANDSHAKING → READY
NiceBuildSdk.stopWifiTransfer()