Braze Flutter SDK

Effective marketing automation is an essential part of successfully scaling and managing your business.

This project contains the Braze plug-in package, a specialized package that allows integrators to use certain Braze APIs from Flutter app code written in Dart.

Getting Started

  1. Follow the directions in the Install Tab to import Braze into your project.

  2. Instantiate an instance of the Braze plugin by calling new BrazePlugin()

Android

  1. In your res/values directory, create a file called appboy.xml and add your API key and set your custom endpoint as specified in our public documentation.

  2. Add required permissions to your AndroidManifest, as specified in our public documentation.

  3. To integrate push, follow the directions in our [public documentation(https://www.braze.com/docs/developer_guide/platform_integration_guides/android/push_notifications/integration/). Note that only registration using our "automatic FCM registration" is currently supported from Flutter apps.

iOS

  1. Call Appboy.startWithApiKey() in your AppDelegate's didFinishLaunchingWithOptions delegate method as specified in our public documentation)(https://www.braze.com/docs/developer_guide/platform_integration_guides/ios/initial_sdk_setup/initial_sdk_setup/#step-4-updating-your-app-delegate).

  2. Set your custom endpoint as specified in our public documentation. We recommend the Info.plist approach.

In-app messages

Disabling automatic display

Native in-app messages display automatically out of the box on Android and iOS.

To disable automatic in-app message display for Android, create a boolean element named com_appboy_inapp_show_inapp_messages_automatically in your appboy.xml and set it to false.

To disable automatic in-app message display for iOS, implement the ABKInAppMessageControllerDelegate delegate as described in our public documentation. Your beforeInAppMessageDisplayed delegate implementation should return ABKInAppMessageDisplayChoice.discardInAppMessage. For an example, see AppDelegate.swift in our example app.

In-app message data callback

You may set a callback in Dart to receive Braze in-app message data in the Flutter host app. Note that analytics are not currently supported on messages displayed through the callback.

To set the callback, call BrazePlugin.setBrazeInAppMessageCallback() from your Flutter app with a function that takes a BrazeInAppMessage instance. The BrazeInAppMessage object supports a subset of fields available in the native model objects, including uri, message, header, buttons, and extras.

The callback should begin to function on Android immediately after being set.

On iOS, you will additionally need to implement the ABKInAppMessageControllerDelegate delegate as described in our public documentation. Your beforeInAppMessageDisplayed delegate implementation must call BrazePlugin.process(inAppMessage). For an example, see AppDelegate.swift in our example app.

Libraries

braze_plugin