radar_flutter_plugin 0.0.1 copy "radar_flutter_plugin: ^0.0.1" to clipboard
radar_flutter_plugin: ^0.0.1 copied to clipboard

discontinuedreplaced by: flutter_radar
outdated

Use Radar SDKs and APIs to add location context to your apps with just a few lines of code.

Radar Flutter Plugin #

Radar is location data infrastructure. You can use Radar SDKs and APIs to add location context to your apps with just a few lines of code.

Documentation #

See the Radar overview documentation here.

Support #

This is a community developed plugin.

Flutter support:

  • iOS
  • Android

Features #

  • User management
  • Geofencing
  • Geo APIs (geocoding, distance, autocomplete)
  • Search (geofences, points and places)
  • Location tracking and context (foreground and background)

Planned features #

  • Trip tracking
  • Mock tracking
  • Accept/reject events

Setup #

Android #

Change the minSdkVersion for Android

radar_flutter_plugin is compatible only from version 16 of Android SDK so you should change this in android/app/build.gradle if needed:

Android {
  defaultConfig {
     minSdkVersion: 16

Add permissions for Location

We need to add the permission to access location:

In the android/app/src/main/AndroidManifest.xml let’s add:

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

Add MainApplication

Open the MainApplication class for your project. Note that MainApplication is not created by default through flutter create <Project>, so you may need to create it.

Add code to extend the Flutter Application class (FlutterApplication) that imports and initializes Reader SDK:

package <YOUR_PACKAGE_NAME>;

import io.flutter.app.FlutterApplication;
import io.flutter.view.FlutterMain;
import io.radar.sdk.Radar;

public class MainApplication extends FlutterApplication {
    @Override
    public void onCreate() {
        super.onCreate();
        Radar.initialize(this,"<yourRadarPublishableKey>");
        FlutterMain.startInitialization(this);
    }
}

If you create MainApplication class in above step, update AndroidManifest.xml in your project:

<application
  <!-- use custom "MainApplication" class instead of "io.flutter.app.FlutterApplication" -->
  android:name=".MainApplication" 
  ... />
</application>

In MainActivity you might need the following engine registration:

public class MainActivity extends FlutterActivity {
    @Override
    public void configureFlutterEngine(FlutterEngine flutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

IOS #

Add permissions for Location

In the ios/Runner/Info.plist let’s add:

<dict>  
  <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
  <string>Your iOS 11 and higher background location usage description goes here. e.g., "This app uses your location in the background to recommend places nearby."</string>
  <key>NSLocationAlwaysUsageDescription</key>
  <string>Your iOS 10 and lower background location usage description goes here. e.g., "This app uses your location in the background to recommend places nearby."</string>
  <key>NSLocationWhenInUseUsageDescription</key>
  <string>Your foreground location usage description goes here. e.g., "This app uses your location in the foreground to recommend places nearby."</string>
  <key>UIBackgroundModes</key>
  <array>
    <string>fetch</string>
    <string>location</string>
  </array>
...
</dict>

For location permissions on iOS see more at: https://developer.apple.com/documentation/corelocation/requesting_authorization_for_location_services

Initialize Radar

package <YOUR_PACKAGE_NAME>;

import io.flutter.app.FlutterApplication;
import io.flutter.view.FlutterMain;
import io.radar.sdk.Radar;

public class MainApplication extends FlutterApplication {
    @Override
    public void onCreate() {
        super.onCreate();
        Radar.initialize(this,"<yourRadarPublishableKey>");
        FlutterMain.startInitialization(this);
    }
}

Usage #

To use this plugin, add radar_flutter_plugin as a dependency in your pubspec.yaml file. For example:

dependencies:
  radar_flutter_plugin: ^0.0.1

See here for example applications of Radar and the example app for relevant functions.

2
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Use Radar SDKs and APIs to add location context to your apps with just a few lines of code.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on radar_flutter_plugin