Utilize o Watch-IP com Flutter e Dart
watch_ip_sdk (pub.dev, v0.1.2) envolve GET /v1/geo para aplicações Flutter e Dart simples, construído sobre package:http em vez de um cliente apenas de biblioteca padrão, para também funcionar em Flutter web.
Instalação
Requer Dart 3.0+ / qualquer canal estável atual do Flutter. Depende de package:http — uma exceção deliberada à abordagem de zero dependências dos outros SDKs, uma vez que o HttpClient de dart:io não está disponível em Flutter web.
Flutter
flutter pub add watch_ip_sdkInício rápido
Uma compilação Flutter web em execução num separador de navegador real envia Origin corretamente por si própria. Uma compilação nativa para iOS/Android/desktop, ou Dart simples num servidor, não o faz — passe origin explicitamente nesses casos. Este SDK só precisa da chave publicável; nunca incorpore uma chave secreta numa aplicação distribuída.
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}');Tratamento de erros e tempos limite
Toda a falha lança um WatchIPError com um status e um código estável. Um pedido que não seja concluído dentro do timeout lança um com o código 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}');
}O que este SDK não cobre
Este pacote apenas chama GET /v1/geo. Ainda não existe cliente Dart para a pesquisa de IP, a validação de e-mail, ou as verificações de risco — chame-os com package:http diretamente a partir do seu próprio back-end, nunca a partir da própria aplicação, uma vez que esses endpoints precisam de uma chave secreta. Consulte o guia de autenticação.