Drop-in geofencing for Flutter. Everything runs on-device. No tracking vendors, no external calls.
Free for development • Open source core • Unlimited local testing
Everything runs on-device. Zero external calls. Easy to explain and defend in privacy reviews.
Circles and polygons. No native API limits. Model complex geofences without server-side hacks.
Built for real apps: robust error handling, debug hooks, and clear lifecycle events.
Smart GPS profiles and proximity-based updates so you stay efficient without missing events.
dependencies:
polyfence: ^0.1.0await Polyfence. instance.initialize();
final zone = Zone.polygon(
id: 'area',
name: 'Coverage Area',
coordinates: [
PolyfenceLocation(51.5074, -0.1278),
PolyfenceLocation(51.5084, -0.1268),
PolyfenceLocation(51.5094, -0.1288),
PolyfenceLocation(51.5084, -0.1298),
],
);
await Polyfence. instance.addZone(zone);
await Polyfence. instance.startTracking();