Native Android

Implement logging and error handling for Fordefi's Native Android SDK.

Add logging

To receive logs from the SDK, you can create your own class implementing the interface IFordefiLogger, and calling the method setLogger with the instance of this class.

import com.fordefi.fordefi.FordefiLogLevel
import com.fordefi.fordefi.IFordefiLogger

class MyFordefiLogger: IFordefiLogger {
    override fun log(logLevel: FordefiLogLevel, message: String) {
        when(logLevel) {
            FordefiLogLevel.Verbose -> Log.v("FordefiSDK", message)
            FordefiLogLevel.Info -> Log.i("FordefiSDK", message)
            FordefiLogLevel.Warning -> Log.w("FordefiSDK", message)
            FordefiLogLevel.Error -> Log.i("FordefiSDK", message)
        }
    }
}

class MainActivity: ComponentActivity() {
    private val logger = MyFordefiLogger()
    override fun onCreate(savedInstanceState: Bundle ? ) {
        ...
        fordefi!!.setLogger(logger)
    }
}

Add error handling

To receive error reports from the Fordefi SDK, you can create your own class implementing interface IFordefiErrorHandler, and call method setErrorHandler with an instance of this class.

import com.fordefi.fordefi.FordefiError
import com.fordefi.fordefi.IFordefiErrorHandler

class MyFordefiErrorHandler: IFordefiErrorHandler {
    override fun handleError(error: FordefiError) {
        Log.e("FordefiSDK", error.description())
    }
}

class MainActivity: ComponentActivity() {
    private val errorHandler = MyFordefiErrorHandler()
    override fun onCreate(savedInstanceState: Bundle ? ) {
        ...
        fordefi!!.setErrorHandler(errorHandler)
    }
}.