Braze Flutter SDK

Effective marketing automation is an essential part of successfully scaling and managing your business. Braze empowers you to build better customer relationships through a seamless, multi-channel approach that addresses all aspects of the user life cycle Braze helps you engage your users on an ongoing basis.

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. Add the following to your pubspec.yaml:
dependencies:
braze_plugin: ^0.0.1
  1. Import Braze into your dart source using the following import:
import 'package:braze_plugin/braze_plugin.dart';
  1. 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.

Libraries

braze_plugin

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]