Android¶
Das SDK für Android bettet das Widget in Ihre App ein und meldet den Zustand der Challenge über einen Empfänger.
Voraussetzungen¶
Die folgenden Voraussetzungen müssen erfüllt sein:
| Voraussetzung | Wert |
|---|---|
| Android | ab Version 4.1 Jelly Bean, API-Ebene 16 |
| Sprache | Kotlin oder Java. Das SDK ist in Kotlin geschrieben. |
| Zugangsdaten | Öffentlicher Sitekey aus der Ansicht Details |
SDK einbinden¶
Ergänzen Sie die Datei build.gradle:
repositories {
mavenCentral()
}
dependencies {
implementation "eu.eucaptcha.android:eu-captcha-android:1.0.0"
// Or for `build.gradle.kts`
// implementation("eu.eucaptcha.android:eu-captcha-android:1.0.0")
}
Widget erzeugen¶
Erzeugen Sie das SDK und das Widget in Ihrer Activity:
import eu.eucaptcha.android.sdk.*
const val EU_CAPTCHA_SITEKEY = "EUCAPTCHA_SITE_KEY"
class MainActivity : ComponentActivity() {
private val sdk by lazy {
EuCaptchaSDK(context = this)
}
private val widget by lazy {
sdk.createWidget(sitekey = EU_CAPTCHA_SITEKEY)
}
}
Widget anzeigen¶
Zeigen Sie das Widget in Ihrer Oberfläche an und werten Sie den Zustand aus:
val captchaResponse = remember { mutableStateOf("") }
var buttonEnabled by remember { mutableStateOf(false) }
widget.setOnStateChangeListener { event ->
captchaResponse.value = event.response
when (event.state) {
"completed" -> buttonEnabled = true
"expired" -> buttonEnabled = false
"error" -> buttonEnabled = true
}
}
AndroidView(factory = { _ -> widget.view })
Button(onClick = { widget.reset() }, enabled = buttonEnabled) {
Text("Submit")
}
Die folgenden Zustände meldet der Empfänger:
| Zustand | Bedeutung |
|---|---|
completed |
Die Challenge ist bestanden. Das Feld response enthält das Token. |
expired |
Das Token ist abgelaufen. |
error |
Bei der Prüfung ist ein Fehler aufgetreten. |
Der Aufruf widget.reset() startet eine neue Challenge.
Token prüfen¶
Senden Sie das Token an Ihren Server und prüfen Sie es dort. Siehe Endpunkt /verify.