braze_plugin 0.4.0
braze_plugin: ^0.4.0 copied to clipboard
This is the Braze plugin for Flutter. Effective marketing automation is an essential part of successfully scaling and managing your business.
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 #
-
Follow the directions in the Install Tab to import Braze into your project.
-
Instantiate an instance of the Braze plugin by calling
new BrazePlugin()
Android
-
In your
res/values
directory, create a file calledappboy.xml
and add your API key and set your custom endpoint as specified in our public documentation. -
Add required permissions to your
AndroidManifest
, as specified in our public documentation. -
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
-
Call
Appboy.startWithApiKey()
in yourAppDelegate
'sdidFinishLaunchingWithOptions
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). -
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, implement the IInAppMessageManagerListener
delegate as described in our public documentation. Your beforeInAppMessageDisplayed
method implementation should return InAppMessageOperation.DISCARD
. For an example, see MainActivity.kt
in our example app.
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
.
On Android, you will additionally need to implement the IInAppMessageManagerListener
delegate as described in our public documentation. Your beforeInAppMessageDisplayed
method implementation must call BrazePlugin.process(inAppMessage)
. For an example, see MainActivity.kt
in our example app.
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.
To log analytics using your BrazeInAppMessage
, pass the instance into the logInAppMessageClicked
, logInAppMessageImpression
, and logInAppMessageButtonClicked
methods available on the main plugin interface.