Menggunakan Watch-IP dengan Flutter dan Dart
watch_ip_sdk (pub.dev, v0.1.2) membungkus GET /v1/geo untuk aplikasi Flutter maupun Dart biasa, dibangun di atas package:http, bukan klien standard-library-only, sehingga juga berfungsi di Flutter web.
Instalasi
Membutuhkan Dart 3.0+ / channel Flutter stable mana pun yang berjalan saat ini. Bergantung pada package:http — pengecualian yang disengaja dari pendekatan tanpa dependensi SDK lainnya, karena HttpClient milik dart:io tidak tersedia di Flutter web.
Flutter
flutter pub add watch_ip_sdkMulai cepat
Build Flutter web yang berjalan di tab browser sungguhan mengirim Origin dengan benar secara otomatis. Build native iOS/Android/desktop, atau Dart biasa di server, tidak — kirim origin secara eksplisit di sana. SDK ini hanya pernah butuh publishable key; jangan pernah menyematkan secret key di aplikasi yang dirilis.
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}');Penanganan error dan timeout
Setiap kegagalan melempar WatchIPError dengan sebuah status dan kode yang stabil. Request yang tidak selesai dalam batas timeout melempar satu dengan kode 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}');
}Yang tidak dicakup SDK ini
Paket ini hanya memanggil GET /v1/geo. Belum ada klien Dart untuk pencarian IP, validasi email, atau pemeriksaan risiko — panggil langsung dengan package:http dari backend Anda sendiri, jangan pernah dari aplikasinya sendiri, karena endpoint tersebut butuh secret key. Lihat panduan autentikasi.