Native HTTP Sync
When sync is configured, native code attempts a flush after stored locations
reach syncThreshold, respecting syncInterval. Failed flushes can retry up to
maxRetries when retry is enabled. Call syncStoredLocations() to manually
flush the native queue.
