apptics_flutter 0.0.1
apptics_flutter: ^0.0.1 copied to clipboard
Flutter plugin for Zoho Apptics SDK.
Apptics Flutter #
Flutter library for Apptics, wrapper around Apptics Native iOS and Android SDK. Supports tracking in-app events, screens and session.
Install Apptics
Run this command:
With Flutter:
$ flutter pub add apptics_flutter ^0.0.1
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get
):
dependencies:
apptics_flutter: ^0.0.1
Alternatively, your editor might support flutter pub get
.
Android initialization steps #
-
Register your app and download
apptics-config.json
from Apptics web console. -
Place apptics-config.json file in app/ directory (Root of the Android Studio app module).
-
Add apptics-plugin classpath and zoho maven url in project level build.gradle
buildscript { repositories { maven { url "https://maven.zohodl.com/" } } dependencies { classpath 'com.zoho.apptics:apptics-plugin:0.1' } }
-
Apply apptics-plugin and enable event tracking in app level gradle (app/build.gradle)
apply plugin: "com.android.application" apply plugin: "apptics-plugin" apptics { supportEventAsStrings = ["default":true] }
-
Rebuild the Android project. (Build -> Rebuild in Android Studio)
-
Initialize Apptics in MainApplication.kt onCreate() method.
AppticsAnalytics.init(this) AppticsCrashTracker.init(this) AppticsEventsIdMapping().init()
Initialization steps for Apple platforms
- Register your app and download
apptics-config.plist
from Apptics web console. - Once you have created the Project and added your app, download the apptics-config.plist, move the file into the Xcode project root folder, and add the config file to the main target.
- Add pre-build scripts to your Podfile.
source 'https://github.com/CocoaPods/Specs.git'
target 'MAIN TARGET' do
# Pre build script will register the app version, upload dSYM file to the server and add apptics specific information to the main info.plist which will be used by the SDK.
script_phase :name => 'Apptics pre build', :script => 'sh "./Pods/Apptics-SDK/scripts/run" --upload-symbols-for-configurations="Release, Appstore"', :execution_position => :before_compile
end
Important:
- Adding pre-build scripts is mandatory.
- In the pre-build script, we upload dSYM to the server (optional), register the app with the Apptics server, and add the necessary information of the app version into the apptics-config.plist which is used by the SDK to send the data to the Apptics server.
- Always make sure 'Copy Bundle Resources' is below the 'Compile Sources' and '[cp-user] Apptics pre build' is above 'Compile Sources'.
Build script usage:
run --upload-symbols-for-configurations="Release, Appstore" --config-file-path="YOUR_PATH/apptics-config.plist" --app-group-identifier="group.com.company.application [Optional]"
- --config-file-path pass your config file path if it is not added to your project root.
- --app-group-identifier if you have enabled app group identifier for your app's target.
- --upload-symbols-for-configurations String, an optional parameter to pass your configuration name debug, release, or add a custom name with comma-separated for which the dSYMs will be uploaded without any prompt during App Store submission process via CI, CT, and CD.
For more details on how to configure for multiple projects please visit iOS user guide
4. Build the Xcode project and check for any issues.
Create AppticsFlutter instance
import 'package:apptics_flutter/apptics_flutter.dart';
final _appticsFlutterPlugin = AppticsFlutter();
Event Tracking
- Configure custom events in Apptics webconsole.
- Track the configured event with properties using
addEvent
method.
_appticsFlutterPlugin.addEvent("eventName", "eventGroupName", {'propKey': 'propValue'})
Screen Tracking
Use the methods provided to track screen navigation.
// call when screen appears
_appticsFlutterPlugin.screenAttached("screenName")
// call when screen disappears
_appticsFlutterPlugin.screenDetached("screenName")
Track User
Ties user-id with other stats (events, screens etc)
User Id tracking will happen with respect to Tracking Settings. If the tracking settings is " WithoutPII", stats will not be associated with the user id.
_appticsFlutterPlugin.setUser("userid")
Tracking settings
Apptics offer 7 tracking states to control usage and crash tracking.
- UsageAndCrashTrackingWithPII
- UsageAndCrashTrackingWithoutPII
- OnlyUsageTrackingWithPII
- OnlyUsageTrackingWithoutPII
- OnlyCrashTrackingWithPII
- OnlyCrashTrackingWithoutPII
- NoTracking
UsageAndCrashTrackingWithoutPII is the default state out of the box.
Usage Tracking
Usage tracking generally refers to tracking the Events, APIs, Screens, Sessions.
Crash Tracking
Crash tracking is self-explanatory and refers to the tracking of unhandled exceptions.
PII
The term PII is used to denote the value you set using the _appticsFlutterPlugin.setUser
method.
You can use setTrackingState
method to change the tracking state.
// to change the tracking settings to track only crash and associate user id with crash.
_appticsFlutterPlugin.setTrackingState(TrackingState.OnlyCrashTrackingWithPII);
// to get the current tracking state
_appticsFlutterPlugin.getTrackingState();