jawal_flutter 1.0.6 copy "jawal_flutter: ^1.0.6" to clipboard
jawal_flutter: ^1.0.6 copied to clipboard

outdated

Jawal is an SDK that allows you to track user's location in real time with high accuracy and low battery consumption.

Jawal Flutter SDK #

Getting Started #

Add this to your package's pubspec.yaml file:

dependencies:
  jawal_flutter: ^1.0.3

Android #

The Package adds this permissions to your Android Manifest:

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

iOS #

Add the following to your Info.plist file:

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>YOUR_LOCATION_DESCRIPTION</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>YOUR_LOCATION_DESCRIPTION</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>YOUR_LOCATION_DESCRIPTION</string>

If you plan to keep tracking while the app is in background, you need to enable the "Background Modes" capability and check these two options:

  • Location updates
  • Background fetch

Usage #

Initialize the SDK with your API Key:

JawalConfig config = JawalConfig(
    apiKey: "YOUR_API_KEY",
    userId: "USER_UNIQUE_ID", 
    userDescription: "USER_DESCRIPTION", // Optional
    onInitResult: (InitResultEvent event) {
        if(event.isSuceessful) {
            /// SDK is initialized successfully
        } else {
            /// You can get the error message from event.error
            print(event.error);
        }
    },
);
Jawal.init(config);

USER_UNIQUE_ID: A unique ID for the user, it can be the user ID in your database USER_DESCRIPTION: A description for the user, it can be the user name

Location Permissions #

You need to request the location permission from the user, the SDK provides a method to request the permission:

PermissionStatus locationStatus = await Jawal.requestLocationPermission();
if(locationStatus.isGranted){
    /// Optional: Ask for background location permission if you want to keep tracking while the app is in background
    PermissionStatus backgroundStatus = await Jawal.requestBackgroundLocationPermission();
}else if(locationStatus.isPermanentlyDenied) {
    /// Permission is permanently denied, you can ask the user to go to the settings and enable the permission
}

Start Tracking #

Jawal.startTracking();

Stop Tracking #

Jawal.stopTracking();

Listen to Location Updates #

Jawal.onLocationChange((LocationChangeEvent event) {
    ///Do something with the location
});
1
likes
0
points
14
downloads

Publisher

verified publisherjawal.yastack.app

Weekly Downloads

Jawal is an SDK that allows you to track user's location in real time with high accuracy and low battery consumption.

Homepage

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on jawal_flutter

Packages that implement jawal_flutter