Usa Watch-IP con Flutter e Dart
watch_ip_sdk (pub.dev, v0.1.2) incapsula GET /v1/geo per le app Flutter e per Dart puro, costruito su package:http anziché su un client basato solo sulla libreria standard, così funziona anche su Flutter web.
Installazione
Richiede Dart 3.0+ / qualsiasi canale Flutter stabile attuale. Dipende da package:http — un'eccezione deliberata rispetto all'approccio a zero dipendenze degli altri SDK, poiché l'HttpClient di dart:io non è disponibile su Flutter web.
Flutter
flutter pub add watch_ip_sdkAvvio rapido
Una build Flutter web in esecuzione in una scheda del browser reale invia correttamente Origin da sola. Una build nativa iOS/Android/desktop, o Dart puro su un server, no — in quei casi passa origin esplicitamente. Questo SDK ha bisogno solo della chiave pubblicabile; non incorporare mai una chiave segreta in un'app distribuita.
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}');Gestione degli errori e timeout
Ogni fallimento genera un WatchIPError con uno status e un code stabile. Una richiesta che non si completa entro timeout ne genera uno con 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}');
}Cosa non copre questo SDK
Questo pacchetto chiama solo GET /v1/geo. Non esiste ancora un client Dart per la ricerca IP, la validazione email o i controlli di rischio — chiamali con package:http direttamente dal tuo backend, mai dall'app stessa, poiché quegli endpoint richiedono una chiave segreta. Consulta la guida all'autenticazione.