Cooee plugin for Flutter App

What is Cooee?

Lets Cooee powers hyper-personalized and real time engagements for mobile apps based on machine learning. The SaaS platform, hosted on cloud infrastructure processes millions of user transactions and data attributes to create unique and contextual user engagement triggers for end users with simple SDK integration that requires no coding at mobile app level.


  1. Plug and Play - SDK is plug and play for mobile applications. That means it needs to be initialized with the Application Context and it will work automatically in the background.
  2. Independent of Application - SDK is independent of the application. It will collect data points with zero interference from/to the applications. Although applications can send additional data points (if required) to the SDK using API’s.
  3. Rendering engagement triggers - SDK will render the campaign trigger at real-time with the help of server http calls.
  4. Average SDK size – 5-6 MB(including dependency SDK’s).


Step 1: Dependencies

To add the Cooee Flutter plugin to your project, edit your project's pubspec.yaml file:

cooee_plugin: x.x.x

You can check the latest version of the plugin from

Step 2: Configure Credentials


Add following in AndroidManifest.xml within the <application> tag:

<meta-data android:name="COOEE_APP_ID" android:value="MY_COOEE_APP_ID"/>
<meta-data android:name="COOEE_APP_SECRET" android:value="MY_COOEE_APP_SECRET"/>

Replace MY_COOEE_APP_ID & MY_COOEE_APP_SECRET with the app id & secret given to you separately.


Add following in Info.plist

<string>App uses Bluetooth to find out nearby devices</string>

<string>App uses location to search retailer location</string>


Replace MY_COOEE_APP_ID & MY_COOEE_APP_SECRET with the app id & secret given to you separately.

Step 3: Import it

Now in your Dart code, you can use:

import 'package:cooee_plugin/cooee_plugin.dart';

Step 4: Provide BuildContext

Because of a limitation in how Flutter for Android handles Activity, we could not achieve Glassmorphism effect in Flutter applications without some extra code. For this to work, you have to add an extra line in your first route widget.

Call setContext() method to your first route widget. Check Example for reference.


Step 5: Track custom Events

Once you integrate the SDK, Cooee will automatically start tracking events. You can view the collected events in System Default Events. Apart from these, you can track custom events as well.

var eventProperties = {'product id': '1234', 'product name': 'Wooden Table'};
CooeePlugin.sendEvent("Add to cart", eventProperties);

Step 6: Track user action on In-App Trigger

Create an object of CooeePlugin and initialize event tracker

var cooeePlugin = new CooeePlugin();

Don't forget to initialize inAppTriggered

void inAppTriggered(Map<String, dynamic> map) {
    this.setState(() {
      print("Data " + map.toString());