
Official Kotlin SDK for Fluxum API
Get up and running with the Fluxum Kotlin SDK in minutes
implementation("com.fluxum:fluxum-sdk-kotlin:0.1.0")Built with Kotlin coroutines for asynchronous programming and Android integration.
Built-in client-side encryption with optional custom encryption keys for maximum security.
Comprehensive analytics tracking for connections, jobs, and rate limits with Kotlin flows.
Handle real-time events with the SDK
val eventListener = object : SDKEventListener {
override fun onConnect() {
println("Connected to Fluxum server")
}
override fun onAuthenticated(data: AuthData) {
println("Authentication successful: ${data.clientId}")
}
override fun onDisconnected(data: DisconnectData) {
println("Disconnected: ${data.reason}")
}
override fun onJobUpdate(update: JobUpdate) {
println("Job update: ${update.jobId}, ${update.status}")
}
override fun onError(error: String) {
println("Error: $error")
}
}
sdk.addEventListener(eventListener)Examples of different job types and configurations
val requestData = mapOf(
"url" to "https://api.example.com/data",
"method" to "GET",
"headers" to mapOf(
"Authorization" to "Bearer your-token"
)
)
val jobPayload = JobPayload(requestData)
val jobId = sdk.submitJob(jobPayload)Advanced configuration and features
val sdk = FluxumSDK(FluxumSDKOptions.builder()
.apiKey("your-api-key")
.enableClientSideEncryption(true)
.encryptionKey("your-custom-encryption-key")
.build())// Manual connection
sdk.connect()
// Disconnect
sdk.disconnect()
// Check connection status
if (sdk.isConnected()) {
println("Connected")
}
// Reconnect
sdk.reconnect()// Get analytics data
val analytics = sdk.getAnalytics()
println("Total jobs: ${analytics.totalJobs}")
println("Successful jobs: ${analytics.successfulJobs}")
println("Failed jobs: ${analytics.failedJobs}")
println("Average response time: ${analytics.averageResponseTime}")
// Reset analytics
sdk.resetAnalytics()Comprehensive error handling and recovery
val robustEventListener = MyEventListener{}
sdk.AddEventListener(robustEventListener)System requirements and dependencies
Kotlin 1.8.0 or higher
Complete API documentation
FluxumSDK(options: FluxumSDKOptions)
data class FluxumSDKOptions(
val apiKey: String,
val autoConnect: Boolean = true,
val enableAnalytics: Boolean = true,
val enableClientSideEncryption: Boolean = true,
val maxReconnectAttempts: Int = 5,
val reconnectDelay: Long = 1000,
val connectionTimeout: Long = 30000,
val logLevel: String = "info"
)// Connection
fun connect()
fun disconnect()
fun reconnect()
// Status
val isConnected: Boolean
val isAuthenticated: Boolean
// Jobs
fun submitJob(payload: JobPayload): CompletableFuture<String>
fun cancelJob(jobId: String): CompletableFuture<Unit>
// Analytics
fun getAnalytics(): AnalyticsData
fun resetAnalytics()
// Events
fun addEventListener(listener: SDKEventListener)
fun removeEventListener(listener: SDKEventListener)