Watch-IP

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_sdk

Iní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.

Páginas relacionadas