A small open-source module shows the check in a dialog and gives your app a one-time token. Kotlin or Java, no Google Play Services needed.
Add the module
Download the SDK zip from the docs, copy sdk/android/fitmykb-verify into your project and include it in Gradle. It uses the system WebView, so there's nothing else to install.
Gradle · setup
// settings.gradle.kts: the sdk/android/fitmykb-verify folder of the SDK zip, copied into your project
include(":fitmykb-verify")
project(":fitmykb-verify").projectDir = file("libs/fitmykb-verify")
// app/build.gradle.kts
dependencies {
implementation(project(":fitmykb-verify"))
}
Allow your app
In your dashboard, add the app's package name (for example com.example.shop) as one of the site key's websites.
Ask for the check
FitMyKBVerify.verify shows the check and calls you back with Success and the token, Failure with a code, or Cancelled. From Java, call FitMyKBVerify.INSTANCE.verify with the same Config.
Kotlin · sign-up
import com.fitmykb.verify.FitMyKBVerify
// In an Activity, when the person taps "Create account"
FitMyKBVerify.verify(this, FitMyKBVerify.Config(siteKey = "YOUR_SITE_KEY", language = "ta")) { result ->
when (result) {
is FitMyKBVerify.Result.Success -> api.signUp(email, password, captcha = result.token)
is FitMyKBVerify.Result.Failure -> showError(result.code)
FitMyKBVerify.Result.Cancelled -> Unit
}
}
Check it on your server
Send the token with the request it protects. Your server posts it to siteverify with the secret, which must never be inside the app.
Why not SafetyNet or Play Integrity?
Those prove the device and app are genuine, which needs Google Play. This checks the person, works on phones without Google services, and uses the same keys and dashboard as your website.