Skip to main content

Usage

Learn how to use the Azakaw KYC SDK in your Android application.

Starting KYC Process

The simplest way to start the KYC process is:

AzakawKyc.start(
context = this,
config = AzakawKycConfig(
sessionId = "your-session-id",
environment = Environment.SANDBOX
),
onCancel = {
Toast.makeText(this, "KYC Cancelled", Toast.LENGTH_SHORT).show()
}
)

Full Implementation Example

Here's a complete Activity implementation showing how to integrate the SDK:

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

findViewById<Button>(R.id.startKycButton).setOnClickListener {
startKycProcess()
}
}

private fun startKycProcess() {
// Example: Getting session ID from your backend
getSessionId { sessionId ->
AzakawKyc.start(
context = this,
config = AzakawKycConfig(
sessionId = sessionId,
environment = Environment.SANDBOX,
isFullscreen = true // Optional: Start in fullscreen mode
),
onCancel = {
// Handle cancellation
Toast.makeText(this, "KYC Cancelled", Toast.LENGTH_SHORT).show()
}
)
}
}

// Handle permissions
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
AzakawKyc.handlePermissionResult(requestCode, permissions, grantResults)
}
}

Best Practices

  1. Context

    • Always pass Activity context, not Application context
    • Ensure Activity is not finishing when starting KYC
  2. Error Handling

    • Implement onCancel callback
    • Handle permission results properly
    • Consider implementing retry logic for session ID failures
  3. Lifecycle

    • Start KYC process when Activity is in proper state
    • Handle configuration changes appropriately
    • Clean up resources in onDestroy if needed

Permissions

The SDK handles camera permissions automatically, but ensure your app has the required permissions in the manifest:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />

Next Steps

See the Examples section for more implementation scenarios.