Skip to content

Address Verification SDKs

This page provides documentation for address verification SDKs available for different platforms.

Flutter SDK

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: ^0.0.1

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 tag, make sure to add:

<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",
    );
    print("Tracking started: $success");
  } catch (e) {
    print("Error starting tracking: $e");
  }
}

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

React Native SDK

npm package

A React Native package for SID Address Verification with location tracking capabilities.

Installation

npm install rn-sid-address-verification

Or visit our npm page

iOS Setup

Run pod install:

cd ios && pod install

Usage

import {
  startTrackingWithConfig,
  fetchConfiguration,
} from 'rn-sid-address-verification';

// Fetch configuration
const config = await fetchConfiguration('api-key', 'token', 'refresh-token');
console.log('Configuration:', config);

// Start tracking
const success = await startTrackingWithConfig('api-key', 'token', 'refresh-token');
console.log('Tracking started:', success);

API

Methods

Method Description Parameters Returns
fetchConfiguration Fetches configuration from the server apiKey: string, token: string, refreshToken: string Promise<{pollingInterval: number, sessionTimeout: number}>
startTrackingWithConfig Starts location tracking with configuration apiKey: string, token: string, refreshToken: string Promise<boolean>

Contributing

  • Development workflow
  • Sending a pull request
  • Code of conduct

License

MIT License - See LICENSE for details.