appcues_flutter 2.1.0 appcues_flutter: ^2.1.0 copied to clipboard
Plugin package to bridge the native Appcues SDKs in a Flutter application.
Appcues Flutter Plugin #
Appcues Flutter Plugin allows you to integrate Appcues experiences into your Flutter apps for iOS and Android devices.
This Plugin package is a bridge between the native Appcues SDKs in a Flutter application which sends user properties and events to the Appcues API and retrieves and renders Appcues content based on those properties and events.
π Getting Started #
Prerequisites #
Android
Your application's build.gradle
must have a compileSdkVersion
of 33+ and minSdkVersion
of 21+
android {
compileSdkVersion 33
defaultConfig {
minSdkVersion 21
}
}
Your application's main Activity must derive from FlutterFragmentActivity
. Some Flutter application templates will default to FlutterActivity
. Be sure to update this to FlutterFragmentActivity
since this is necessary for Appcues experience content to render correctly in the application. Refer to our example application MainActivity.kt
for reference. Without this update, you may see errors like the one below, when an Appcues experience attempts to render.
java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from DecorView@3edbb3[MainActivity]
iOS
Your application must target iOS 11+ to install the SDK, and iOS 13+ to render Appcues content. Update the iOS project xcodeproj to set the deployment target, if needed - typically in iOS/Runner.xcodeproj
. In the application's Podfile
, include at least this minimum version.
# Podfile
platform :ios, '11.0'
Installation #
Add appcues_flutter
as a dependency in your pubspec.yaml file.
dependencies:
appcues_flutter: <latest_version>
Then, install the dependency by running flutter pub get
from the terminal.
One Time Setup #
Initializing the SDK
An instance of the Appcues SDK should be initialized when your app launches.
import 'package:appcues_flutter/appcues_flutter.dart';
Appcues.initialize('APPCUES_ACCOUNT_ID', 'APPCUES_APPLICATION_ID');
Initializing the SDK requires you to provide two values, an Appcues account ID, and an Appcues mobile application ID. These values can be obtained from your Appcues settings. Refer to the help documentation on Registering your mobile app in Studio for more information.
Supporting Debugging and Experience Previewing
Supporting debugging and experience previewing is not required for the Appcues Flutter Plugin to function, but it is necessary for the optimal Appcues builder experience. Refer to the URL Scheme Configuration Guide for details on how to configure.
Identifying Users #
In order to target content to the right users at the right time, you need to identify users and send Appcues data about them. A user is identified with a unique ID.
// Identify a user
Appcues.identify('my-user-id');
// Identify a user with property
Appcues.identify('my-user-id', {'Company': 'Appcues'});
Tracking Screens and Events #
Events are the βactionsβ your users take in your application, which can be anything from clicking a certain button to viewing a specific screen. Once youβve installed and initialized the Appcues Flutter Plugin, you can start tracking screens and events using the following methods:
// Track event
Appcues.track('Sent Message');
// Track event with property
Appcues.track('Deleted Contact', {'ID': 123 });
// Track screen
Appcues.screen('Contact List');
// Track screen with property
Appcues.screen('Contact Details', {'Contact Reference': 'abc'});
π Documentation #
Full documentation is available at https://docs.appcues.com/
π¬ Examples #
The example
directory in this repository contains full example iOS/Android app to providing references for correct installation and usage of the Appcues API.
π· Contributing #
See the contributing guide to learn how to get set up for development and how to contribute to the project.
π License #
This project is licensed under the MIT License. See LICENSE for more information.