/iterable-flutter

Flutter library for Iterable.com services

Primary LanguageDartMIT LicenseMIT

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

⚠️ ⚠️ We are no longer maintaining this library. Feel free to fork it and work on your own branch. ⚠️ ⚠️

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Iterable Plugin

Pub Version Build Lint Tests

This library is in alpha so the implementation details could change a lot from version to version, check releases and CHANGELOG.md to know how it changes over time.

Flutter plugin to support Android and iOS push notifications from https://iterable.com/.

Usage

To use this plugin, add iterable_flutter as a dependency in your pubspec.yaml file.

Supported methods

Method Android iOS Web MacOS Windows Linux
initialize X X
setEmail X X
setUserId X X
registerForPush X X
updateUser X X
signOut X X
track X X
setNotificationOpenedHandler X X

Installation

  1. Add iterable_flutter as a plugin in pubspec.yaml with the version you need like this:
iterable_flutter: 0.5.4
  1. Use IterableFlutter.initialize to set your iterable keys.

First, create a mobile API Key from Iterable. Then, also from Iterable, create a mobile app and assign a push integration to it.

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();

    IterableFlutter.initialize(
      apiKey: <api-key>,
      pushIntegrationName: <name>,
    );
  }
}
  1. Identify the user

The identification can be done either using IterableFlutter.setEmail or IterableFlutter.setUserId methods. Don't set an email and user ID in the same session, doing so causes the SDK to treat them as different users.

  1. Call IterableFlutter.registerForPush to register the device for current user and listen for opened pushes with IterableFlutter.setNotificationOpenedHandler

  2. Track your events and optional data fields, call IterableFlutter.track method.

Example

Check the example/ folder to see an example project using this library.