sid_address_verification 0.0.3 copy "sid_address_verification: ^0.0.3" to clipboard
sid_address_verification: ^0.0.3 copied to clipboard

A Source ID location tracking/ address verification Flutter package. Refer to home page for more details

Flutter Address Verification Plugin #

pub package

A Flutter plugin for real-time address verification with background location tracking capabilities.

Features #

  • Real-time address validation
  • Background location tracking
  • Configuration management
  • Cross-platform support (Android & iOS)

Installation #

Add to your pubspec.yaml:

dependencies:
  sid_address_verification: {latest version} 

Platform Setup #

Android #

Add these permissions to android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

Inside your

<application
    android:name="${applicationName}"
    android:label="YourAppName"
    tools:replace="android:label,android:name">
    ...
</application>

Ensure your build.gradle has:

minSdkVersion 24

iOS #

Add these to your ios/Runner/Info.plist:

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs location access to verify your address</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs continuous location access for address verification</string>
<key>UIBackgroundModes</key>
<array>
    <string>location</string>
    <string>processing</string>
</array>
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>tech.sourceid.addressverification.geotag</string>
</array>

Minimum iOS version: 15.0


Usage #

Basic Implementation #

import 'package:sid_address_verification/sid_address_verification.dart';

// Initialize tracking
void startTracking() async {
  try {
    final success = await SidAddressVerification.startTrackingWithConfig(
      "your_api_key",
      "user_access_token",
      "user_refresh_token",
    );
    if (success) {
      print('Tracking started successfully');
    }
  } catch (e) {
    print('Error starting tracking: $e');
  }
}

// Stop tracking
void stopTracking() async {
  try {
    await SidAddressVerification.stopTracking();
    print('Tracking stopped');
  } catch (e) {
    print('Error stopping tracking: $e');
  }
}

// Fetch configuration
void fetchConfig() async {
  try {
    final config = await SidAddressVerification.fetchConfiguration("your_api_key");
    print('Configuration: $config');
  } catch (e) {
    print('Error fetching config: $e');
  }
}

Full Example App #

See the complete example implementation in the example folder.


API Reference #

Methods #

Method Description Parameters
startTrackingWithConfig Starts background tracking apiKey, token, refreshToken
stopTracking Stops active tracking -
fetchConfiguration Gets current configuration apiKey
getPlatformVersion Gets device OS version -

Events #

Listen for location updates:

SidAddressVerification.addLocationListener((location) {
  print('New location: ${location['latitude']}, ${location['longitude']}');
});

Configuration #

Android Dependencies #

The plugin requires these dependencies:

 // Location Services
    implementation("com.google.android.gms:play-services-location:21.0.1")


    // Lifecycle
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")

    // Coroutines
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.3")
    implementation("com.squareup.okhttp3:okhttp:4.12.0")

// Retrofit
    implementation("com.squareup.retrofit2:retrofit:2.9.0")
    implementation("com.squareup.retrofit2:converter-gson:2.9.0") // or converter-moshi, etc.
    implementation("com.squareup.okhttp3:okhttp:4.10.0")
    implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")

iOS Requirements #

  • Ensure background modes are enabled in Xcode
  • Add required privacy descriptions

Troubleshooting #

Common Issues #

Issue Solution
Missing permissions Verify all permissions are declared
Background tasks not working Check background modes in Xcode
Build errors Run flutter clean and pod install --repo-update

Error Messages #

Error Solution
"MissingPluginException" Ensure proper plugin registration
"Location permissions denied" Check manifest/plist permissions
"Background task failed" Verify background mode configuration

Example App Screenshots #

(Include actual screenshots from your example app here)


License #

MIT License - See LICENSE for details.

0
likes
140
points
31
downloads

Publisher

unverified uploader

Weekly Downloads

A Source ID location tracking/ address verification Flutter package. Refer to home page for more details

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on sid_address_verification

Packages that implement sid_address_verification