Watch-IP

Utiliser Watch-IP avec Flutter et Dart

watch_ip_sdk (pub.dev, v0.1.2) encapsule GET /v1/geo pour les applications Flutter et le Dart pur, construit sur package:http plutôt qu'un client limité à la bibliothèque standard, afin de fonctionner aussi sur Flutter web.

Installation

Nécessite Dart 3.0+ / tout canal Flutter stable actuel. Dépend de package:http — une exception délibérée à l'approche sans dépendance des autres SDK, car HttpClient de dart:io n'est pas disponible sur Flutter web.

Flutter

flutter pub add watch_ip_sdk

Démarrage rapide

Une compilation Flutter web s'exécutant dans un véritable onglet de navigateur envoie Origin correctement d'elle-même. Une compilation native iOS/Android/bureau, ou du Dart pur sur un serveur, ne le fait pas — passez origin explicitement dans ce cas. Ce SDK n'a besoin que de la clé publiable ; n'intégrez jamais une clé secrète dans une application distribuée.

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}');

Gestion des erreurs et délais d'expiration

Chaque échec lève une WatchIPError avec un status et un code stable. Une requête qui n'aboutit pas dans le délai timeout en lève une avec le 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}');
}

Ce que ce SDK ne couvre pas

Ce paquet n'appelle que GET /v1/geo. Il n'existe pas encore de client Dart pour la recherche d'IP, la validation d'e-mail ou les vérifications de risque — appelez-les directement avec package:http depuis votre propre backend, jamais depuis l'application elle-même, car ces points de terminaison nécessitent une clé secrète. Voir le guide d'authentification.

Pages associées