The Daily transport implementation enables real-time audio and video communication in your Pipecat Android applications using Daily’s WebRTC infrastructure.

Installation

Add the Daily transport dependency to your build.gradle:
implementation "ai.pipecat:daily-transport:1.0.0"

Usage

Create a client using the Daily transport:
val callbacks = object : PipecatEventCallbacks() {

    override fun onBackendError(message: String) {
        Log.e(TAG, "Error from backend: $message")
    }

    // ...
}

val options = PipecatClientOptions(callbacks = callbacks)

val client: PipecatClientDaily = PipecatClient(DailyTransport(context), options)

// Kotlin coroutines
client.startBotAndConnect(startBotParams).await()

// Callbacks
client.startBotAndConnect(startBotParams).withCallback {
    // ...
}

Configuration

Your server endpoint should return Daily-specific configuration:
{
  "dailyRoom": "https://your-domain.daily.co/room-name",
  "dailyToken": "your-daily-token"
}

Resources

Daily Transport Reference

Complete API documentation for the Daily transport implementation