This guide demonstrates how to integrate the Kount Android SDK in a Kotlin-based Android application. You’ll learn how to leverage Kotlin’s features like lambda expressions, extension functions, and null safety for clean, concise integration.
In your MainActivity.onCreate() method, configure the Kount SDK:
class MainActivity : AppCompatActivity(), ActivityCompat.OnRequestPermissionsResultCallback { companion object { const val MERCHANT_ID = "999999" // Insert your valid merchant ID } private val ENVIRONMENT: Int = KountSDK.ENVIRONMENT_TEST override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Configure the SDK KountSDK.setMerchantId(MERCHANT_ID) KountSDK.setCollectAnalytics(true) KountSDK.setEnvironment(ENVIRONMENT) // Rest of your initialization code }}
Notice the Kotlin syntax: KountSDK.setMerchantId() instead of KountSDK.INSTANCE.setMerchantId(). Kotlin allows cleaner access to singleton objects.
Retrieve the session ID using Kotlin’s concise syntax:
class CollectionActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_collection) val textArea = findViewById<TextView>(R.id.textarea) // Get the session ID val deviceSessionID = KountSDK.getSessionId() textArea.append("Session ID:\n$deviceSessionID\n\n") // Get collection status val status = KountSDK.getCollectionStatus() textArea.append("Collection Status: $status\n\n") // Check if collection failed if (status == CollectionStatus.FAILED.toString()) { textArea.append("Error: $status") } }}
Use Kotlin’s equality operators and when expressions:
import com.kount.api.internal.analytics.entities.CollectionStatusval status = KountSDK.getCollectionStatus()when (status) { CollectionStatus.FAILED.toString() -> { Log.e("TAG", "Collection failed: $status") } CollectionStatus.COMPLETED.toString() -> { val sessionId = KountSDK.getSessionId() // Send sessionId to your server } else -> { Log.d("TAG", "Collection in progress: $status") }}
Always check the collection status before sending the session ID to your backend. Sending an incomplete or failed session ID may result in inaccurate fraud detection.