apsis_one 0.0.3 apsis_one: ^0.0.3 copied to clipboard
A Flutter plugin that provides a ApsisOne's App Tool widget on Android and iOS.
App Tool Plugin #
A Flutter plugin for iOS and Android allowing to use ApsisOne's App Tool mobile SDK.
Android | iOS | |
---|---|---|
Support | SDK 26+ | iOS 11+ |
Features #
- Automatic screenView events collecting
- Create and send custom events
- Location collecting
- Create and send custom location events
Installation #
First, add apsis_one
as a dependency in your pubspec.yaml file.
Then, import package:
import 'package:apsis_one/apsis_one.dart';
iOS #
Location collecting: To be able to collect location youu should provide descriptions of usage.
Add two rows to the ios/Runner/Info.plist
:
- one with the key
Privacy - Location Always and When In Use Usage Description
and a usage description. - and one with the key
Privacy - Location When In Use Usage Description
and a usage description.
If editing Info.plist
as text, add:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>your usage description</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>your usage descriptiong</string>
Moreover to collect device's location in background location background mode must be added to the application's target:
Target -> Signing & Capabilities -> Background modes -> Location updates
If editing Info.plist
as text, add:
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
Android #
Add content provider to your app's AndroidManifest.xml:
<provider
android:authorities="${applicationId}.ApsisContentProvider"
android:exported="false"
android:enabled="true"
android:name="com.apsis.android.apsisone.integration.ApsisContentProvider"/>
Add permissions (if you want to track user location):
<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" />
You can use one of coarse and fine location tracking methods, or both of them. Background location permission is optional.
Change minSdkVersion
in file android/app/build.gradle
to fit SDK requirements (26 or above).
Provide route observing for App Tool #
To be able to collect screenView events automatically, you have to pass the ApsisOne NavigationObserver in the navigatorObservers argument to the MaterialApp constructor:
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [ApsisOne.oneRouteObserver],
);
}
Example #
For a usage example see here.