iOS-SDK-Integrationsleitfaden
Übersicht
Das MTVerify iOS SDK ist ein SDK zur Rufnummernauthentifizierung, das eine schnelle, sichere Rufnummernverifizierung auf Carrier-Niveau bietet.
Hauptfunktionen
- SDK-Initialisierung: Automatisches Abrufen der Konfiguration und Initialisierung über den AppKey
- Abdeckungsprüfung: Prüfen, ob die aktuelle Netzwerkumgebung den Authentifizierungsdienst unterstützt
- Rufnummernauthentifizierung: Rufnummernauthentifizierung einleiten und ein Authentifizierungs-Token erhalten
Systemanforderungen
- iOS 12.0+
- Xcode 14.0+
Integrationsleitfaden
Manuelle Integration
- Ziehen Sie
MTVerify.xcframeworkin Ihr Projekt - Unter Target -> General -> Frameworks, Libraries, and Embedded Content:
MTVerify.xcframework: auf Do Not Embed setzen
Schnellstart
Swift-Beispiel
import MTVerify
// 1. Debug-Modus aktivieren (optional, in der Entwicklungsphase empfohlen)
MTVerifySDK.setDebug(true)
// 2. Das SDK initialisieren
MTVerifySDK.setup(appKey: "your_app_key", environment: .production) { result in
if result.isSuccess {
print("SDK-Initialisierung erfolgreich")
} else {
print("SDK-Initialisierung fehlgeschlagen: \(result.message)")
}
}
// 3. Abdeckung prüfen
MTVerifySDK.checkCoverage(phoneNumber: "6281234567890") { result in
if result.isSuccess && result.isAvailable {
print("Authentifizierungsdienst verfügbar, Carrier: \(result.operatorCode ?? "")")
}
}
// 4. Authentifizierung einleiten
MTVerifySDK.startAuthentication(phoneNumber: "6281234567890") { result in
if result.isSuccess {
print("Authentifizierung erfolgreich, Token: \(result.token ?? "")")
}
}
Objective-C-Beispiel
@import MTVerify;
// 1. Debug-Modus aktivieren (optional)
[MTVerifySDK setDebug:YES];
// 2. Das SDK initialisieren
[MTVerifySDK setupWithAppKey:@"your_app_key"
environment:MTEnvironmentProduction
completion:^(MTSetupResult *result) {
if (result.isSuccess) {
NSLog(@"SDK-Initialisierung erfolgreich");
} else {
NSLog(@"SDK-Initialisierung fehlgeschlagen: %@", result.message);
}
}];
// 3. Abdeckung prüfen
[MTVerifySDK checkCoverageWithPhoneNumber:@"6281234567890"
completion:^(MTCoverageResult *result) {
if (result.isSuccess && result.isAvailable) {
NSLog(@"Authentifizierungsdienst verfügbar, Carrier: %@", result.operatorCode);
}
}];
// 4. Authentifizierung einleiten
[MTVerifySDK startAuthenticationWithPhoneNumber:@"6281234567890"
completion:^(MTAuthResult *result) {
if (result.isSuccess) {
NSLog(@"Authentifizierung erfolgreich, Token: %@", result.token);
}
}];
API-Referenz
Klasse MTVerifySDK
MTVerifySDK ist die Kernklasse des SDK und bietet alle authentifizierungsbezogenen Funktionen.
Eigenschaften
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
version |
String |
SDK-Versionsnummer (schreibgeschützt, Klasseneigenschaft) |
isInitialized |
Bool |
Ob das SDK initialisiert wurde (schreibgeschützt, Klasseneigenschaft) |
Methoden
setDebug(_:)
Legt den Debug-Modus fest; bei Aktivierung werden detaillierte Logs ausgegeben.
static func setDebug(_ enabled: Bool)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
enabled |
Bool |
Ob der Debug-Modus aktiviert werden soll |
Hinweise
- Empfohlen, in der Entwicklungs- und Testphase zu aktivieren
- In Release-Builds empfohlen zu deaktivieren
isDebug()
Ruft den aktuellen Status des Debug-Modus ab.
static func isDebug() -> Bool
Rückgabewert
Bool - Ob der Debug-Modus aktiviert ist
setup(appKey:environment:completion:)
Initialisiert das SDK. Verwendet den AppKey, um die Konfiguration automatisch vom Server abzurufen und die Initialisierung abzuschließen.
static func setup(appKey: String,
environment: MTEnvironment = .production,
completion: @escaping (MTSetupResult) -> Void)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
appKey |
String |
App-AppKey, aus der Konsole bezogen |
environment |
MTEnvironment |
Laufzeitumgebung, Standard ist .production |
completion |
(MTSetupResult) -> Void |
Callback bei abgeschlossener Initialisierung |
Hinweise
- Die Initialisierung muss abgeschlossen sein, bevor andere APIs aufgerufen werden
- Die Initialisierung ist ein asynchroner Vorgang; bestätigen Sie den Erfolg im Callback
- Empfohlen, im
AppDelegateoder beim App-Start aufzurufen
checkCoverage(phoneNumber:completion:)
Prüft, ob die aktuelle Netzwerkumgebung den Authentifizierungsdienst unterstützt.
static func checkCoverage(phoneNumber: String,
completion: @escaping (MTCoverageResult) -> Void)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
phoneNumber |
String |
Rufnummer (Ländervorwahl + Rufnummer) |
completion |
(MTCoverageResult) -> Void |
Callback bei abgeschlossener Prüfung |
Rückgabeergebnis
Wird über das MTCoverageResult-Objekt zurückgegeben:
isAvailable: ob die Authentifizierung unterstützt wirdoperatorCode: Carrier-Code; ignorieren Sie dieses Feld, es gibt standardmäßig leer zurück
Hinweise
- Stellen Sie sicher, dass das SDK vor dem Aufruf initialisiert ist
- Empfohlen, diese Methode vor dem Einleiten der Authentifizierung zur Abdeckungsprüfung aufzurufen
startAuthentication(phoneNumber:completion:)
Leitet die Rufnummernauthentifizierung ein.
static func startAuthentication(phoneNumber: String,
completion: @escaping (MTAuthResult) -> Void)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
phoneNumber |
String |
Rufnummer (Ländervorwahl + Rufnummer) |
completion |
(MTAuthResult) -> Void |
Callback bei abgeschlossener Authentifizierung |
Rückgabeergebnis
Wird über das MTAuthResult-Objekt zurückgegeben:
token: Authentifizierungs-Token, für die Backend-Verifizierung verwendet
Hinweise
- Stellen Sie sicher, dass das SDK vor dem Aufruf initialisiert ist
- Muss in einer Mobilfunknetzumgebung verwendet werden
- Das erhaltene Token muss zur erneuten Verifizierung an das Backend übergeben werden
Enumerationen
MTEnvironment
Enum der SDK-Laufzeitumgebung.
@objc public enum MTEnvironment: Int {
case sandbox = 0 // Sandbox-Umgebung (Testen)
case production = 1 // Produktionsumgebung
}
| Wert | Beschreibung |
|---|---|
.sandbox |
Sandbox-Testumgebung |
.production |
Produktivumgebung |
Ergebnistypen
MTSetupResult
Klasse für das Initialisierungsergebnis.
@objcMembers
public class MTSetupResult: NSObject {
/// Ergebniscode (0 für Erfolg, andere für Fehler)
public let code: Int
/// Beschreibungstext
public let message: String
/// Ob erfolgreich
public var isSuccess: Bool { return code == 0 }
}
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
code |
Int |
Ergebniscode; 0 bedeutet Erfolg |
message |
String |
Beschreibungstext |
isSuccess |
Bool |
Ob erfolgreich (berechnete Eigenschaft) |
MTCoverageResult
Klasse für das Ergebnis der Abdeckungsprüfung.
@objcMembers
public class MTCoverageResult: NSObject {
/// Ergebniscode (0 für Erfolg, andere für Fehler)
public let code: Int
/// Beschreibungstext
public let message: String
/// Ob verfügbar
public let isAvailable: Bool
/// Carrier-Code
public let operatorCode: String?
/// Ob erfolgreich
public var isSuccess: Bool { return code == 0 }
}
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
code |
Int |
Ergebniscode; 0 bedeutet Erfolg |
message |
String |
Beschreibungstext |
isAvailable |
Bool |
Ob die aktuelle Umgebung die Authentifizierung unterstützt |
operatorCode |
String? |
Carrier-Code (z. B. "TELKOMSEL"); ignorieren Sie dieses Feld, es gibt standardmäßig leer zurück |
isSuccess |
Bool |
Ob erfolgreich (berechnete Eigenschaft) |
MTAuthResult
Klasse für das Authentifizierungsergebnis.
@objcMembers
public class MTAuthResult: NSObject {
/// Ergebniscode (0 für Erfolg, andere für Fehler)
public let code: Int
/// Beschreibungstext
public let message: String
/// Authentifizierungs-Token (für die Backend-Verifizierung)
public let token: String?
/// Ob erfolgreich
public var isSuccess: Bool { return code == 0 }
}
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
code |
Int |
Ergebniscode; 0 bedeutet Erfolg |
message |
String |
Beschreibungstext |
token |
String? |
Authentifizierungs-Token, für die erneute Backend-Verifizierung |
isSuccess |
Bool |
Ob erfolgreich (berechnete Eigenschaft) |
Vollständiges Beispiel
Vollständiges Swift-Integrationsbeispiel
import UIKit
import MTVerify
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Debug-Modus aktivieren
MTVerifySDK.setDebug(true)
// Das SDK initialisieren
initializeSDK()
}
// MARK: - SDK-Initialisierung
private func initializeSDK() {
MTVerifySDK.setup(
appKey: "your_app_key",
environment: .production
) { [weak self] result in
if result.isSuccess {
print("✅ SDK-Initialisierung erfolgreich")
print("SDK-Version: \(MTVerifySDK.version)")
print("Initialisiert: \(MTVerifySDK.isInitialized)")
} else {
print("❌ SDK-Initialisierung fehlgeschlagen: \(result.message) (code: \(result.code))")
}
}
}
// MARK: - Abdeckung prüfen
func checkCoverage(phoneNumber: String) {
// Prüfen, ob das SDK initialisiert ist
guard MTVerifySDK.isInitialized else {
print("⚠️ SDK nicht initialisiert")
return
}
MTVerifySDK.checkCoverage(phoneNumber: phoneNumber) { result in
if result.isSuccess {
if result.isAvailable {
print("✅ Dienst verfügbar")
print("Carrier: \(result.operatorCode ?? "Unbekannt")")
} else {
print("⚠️ Die aktuelle Umgebung unterstützt den Authentifizierungsdienst nicht")
}
} else {
print("❌ Prüfung fehlgeschlagen: \(result.message) (code: \(result.code))")
}
}
}
// MARK: - Authentifizierung einleiten
func authenticate(phoneNumber: String) {
// Prüfen, ob das SDK initialisiert ist
guard MTVerifySDK.isInitialized else {
print("⚠️ SDK nicht initialisiert")
return
}
MTVerifySDK.startAuthentication(phoneNumber: phoneNumber) { result in
if result.isSuccess {
print("✅ Authentifizierung erfolgreich")
print("Token: \(result.token ?? "")")
// TODO: Das Token zur Verifizierung an das Backend senden
self.verifyTokenOnServer(token: result.token ?? "")
} else {
print("❌ Authentifizierung fehlgeschlagen: \(result.message) (code: \(result.code))")
}
}
}
// MARK: - Backend-Verifizierung
private func verifyTokenOnServer(token: String) {
// Das Token zur Verifizierung an Ihren Backend-Server senden
// Das Backend verwendet das Token, um die MTVerify-Server-API zur Verifizierung der Rufnummer aufzurufen
}
}
Versionsinformationen
- SDK-Version: 1.0.1










