Watch-IP

Watch-IP gebruiken met Flutter en Dart

watch_ip_sdk (pub.dev, v0.1.2) wrapt GET /v1/geo voor Flutter-apps en gewoon Dart, gebouwd op package:http in plaats van een client die alleen op de standaardbibliotheek steunt, zodat het ook op Flutter web werkt.

Installeren

Vereist Dart 3.0+ / elk actueel stabiel Flutter-kanaal. Is afhankelijk van package:http — een bewuste uitzondering op de aanpak zonder afhankelijkheden van de andere SDK's, omdat de HttpClient van dart:io niet beschikbaar is op Flutter web.

Flutter

flutter pub add watch_ip_sdk

Snel starten

Een Flutter-webbuild die in een echt browsertabblad draait, stuurt Origin vanzelf correct mee. Een native iOS/Android/desktop-build, of gewoon Dart op een server, doet dat niet — geef daar origin expliciet mee. Deze SDK heeft alleen ooit de publiceerbare sleutel nodig; embed nooit een geheime sleutel in een uitgeleverde app.

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

Foutafhandeling en timeouts

Elke mislukking gooit een WatchIPError met een status en een stabiele code. Een verzoek dat niet binnen timeout is afgerond, gooit er een met 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}');
}

Wat deze SDK niet dekt

Dit pakket roept alleen GET /v1/geo aan. Er is nog geen Dart-client voor IP-lookup, e-mailvalidatie of risicocontroles — roep ze rechtstreeks met package:http aan vanaf je eigen backend, nooit vanuit de app zelf, aangezien die endpoints een geheime sleutel nodig hebben. Zie de authenticatiehandleiding.

Gerelateerde pagina's