Watch-IP

Watch-IP mit Flutter und Dart verwenden

watch_ip_sdk (pub.dev, v0.1.2) umschließt GET /v1/geo für Flutter-Apps und reines Dart, aufgebaut auf package:http statt einem rein auf die Standardbibliothek beschränkten Client, damit es auch auf Flutter Web funktioniert.

Installation

Erfordert Dart 3.0+ / jeden aktuellen stabilen Flutter-Kanal. Hängt von package:http ab — eine bewusste Ausnahme vom abhängigkeitsfreien Ansatz der anderen SDKs, da der HttpClient von dart:io auf Flutter Web nicht verfügbar ist.

Flutter

flutter pub add watch_ip_sdk

Schnellstart

Ein Flutter-Web-Build, der in einem echten Browser-Tab läuft, sendet Origin von sich aus korrekt. Ein natives iOS-/Android-/Desktop-Build oder reines Dart auf einem Server tut das nicht — übergeben Sie dort origin explizit. Dieses SDK benötigt ausschließlich den veröffentlichbaren Schlüssel; betten Sie niemals einen geheimen Schlüssel in eine ausgelieferte App ein.

Dart

import 'package:watch_ip_sdk/watch_ip_sdk.dart';

final client = WatchIP('wip_pub_xxxxxxxx');
final geo = await client.getGeo();

print('${geo.country} ${geo.city} ${geo.timezone}');

Fehlerbehandlung und Timeouts

Jeder Fehlschlag wirft eine WatchIPError mit einem status und einem stabilen code. Eine Anfrage, die nicht innerhalb von timeout abgeschlossen wird, wirft eine mit dem Code network_error.

Dart

try {
  final geo = await client.getGeo(timeout: const Duration(seconds: 5));
} on WatchIPError catch (e) {
  print('${e.code} ${e.status} ${e.message}');
}

Was dieses SDK nicht abdeckt

Dieses Paket ruft nur GET /v1/geo auf. Es gibt noch keinen Dart-Client für IP-Abfrage, E-Mail-Validierung oder Risikoprüfungen — rufen Sie sie direkt mit package:http von Ihrem eigenen Backend aus auf, niemals aus der App selbst, da diese Endpoints einen geheimen Schlüssel benötigen. Siehe den Authentifizierungsleitfaden.

Verwandte Seiten