Node.js
Erstellen der mobilen Benutzeroberfläche
Aufbau der Hauptaktivität
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent { VerifyApp() }
}
}
@Composable
fun VerifyApp() {
MaterialTheme {
Surface(modifier = Modifier.fillMaxSize()) {
VerificationScreen()
}
}
}
ComponentActivity: Die Basisklasse für Aktivitäten, die Jetpack Compose verwenden.setContent: Legt den UI-Inhalt mit Compose fest.MaterialThemeundSurface: Umhüllen Sie die Benutzeroberfläche in eine Material-Design-Oberfläche für Konsistenz.
Zusammensetzbare Funktion für Verifizierungsbildschirm
@Composable
fun VerificationScreen() {
var phone by remember { mutableStateOf("") }
var code by remember { mutableStateOf("") }
var message by remember { mutableStateOf("") }
var isLoading by remember { mutableStateOf(false) }
var fallbackToSms by remember { mutableStateOf(false) }
val coroutineScope = rememberCoroutineScope()
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
OutlinedTextField(
value = phone,
onValueChange = { phone = it },
label = { Text("Phone Number") },
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Phone),
modifier = Modifier.fillMaxWidth()
)
remember: Ermöglicht es uns, den Zustand über mehrere Zusammensetzungen hinweg zu speichern.coroutineScope: Startet asynchrone Operationen ohne Blockierung der Benutzeroberfläche.OutlinedTextField: Eingabefeld zur Eingabe der Telefonnummer.
Ladeanzeige und Taste
if (isLoading) {
CircularProgressIndicator()
} else {
Button(onClick = {
coroutineScope.launch {
isLoading = true
message = "Starting verification..."
try {
val (requestId, authUrl) = startVerification(phone)
currentRequestId = requestId
message = "Verification started!"
} catch (e: Exception) {
message = "Error: ${e.message}"
} finally {
isLoading = false
}
}
}) {
Text("Start Verification")
}
}
Spacer(modifier = Modifier.height(16.dp))
Text(text = message)
}
}
CircularProgressIndicator: Zeigt einen Ladekreisel an, während auf die Antwort gewartet wird.Button: Startet den Verifizierungsprozess.Text: Zeigt Statusmeldungen für den Benutzer an.
Erste Schritte mit der stillen Authentifizierung
Silent Authentication ist nicht ganz einfach zu verstehen. Dieses Tutorial zeigt Ihnen, wie Sie eine Integration von Grund auf mit Nodejs und Kotlin erstellen können
Verfügbar am:
Schritte
1
Einführung2
Bevor Sie beginnen3
Initialisieren Sie das Projekt4
Einen einfachen Express-Server erstellen5
Vonage-Anmeldedaten einrichten6
Hinzufügen der Vonage Verify API7
Testen des Backends8
Neues Android-Projekt erstellen9
Android-Abhängigkeiten der Anwendung einrichten10
Import und Konstanten einrichten11
Mobile UI erstellen12
Vernetzung zum Backend13
Prüfung des vollen Durchflusses