Initialization
To initialize the SDK you have to add MBMessages
to the array of plugins of MBurger
.
MBManager.shared.apiToken = 'YOUR_API_TOKEN';
MBManager.shared.plugins = [MBMessages()];
To show in app message correctly you have to embed your main widget in a MBMessagesBuilder
like this:
@override
Widget build(BuildContext context) {
return MaterialApp(
...
home: MBMessagesBuilder(
child: Scaffold(
...
),
),
);
}
Why? To present in app messages MBMessages
uses the showDialog
function that needs a BuildContext
. Embedding your main Scaffold
in a MBMessagesBuilder
let the SDK know always what context to use to show in app messages.
Initialize MBMessages with parameters
You can set a couples of parameters when initializing the MBMessages
plugin:
MBMessages messagesPlugin = MBMessages(
messagesDelay: 1,
automaticallyCheckMessagesAtStartup: true,
debug: false,
themeForMessage: (message) => MBInAppMessageTheme(),
onButtonPressed: (button) => _buttonPressed(button),
);
messagesDelay: it's the time after which the messages will be displayed once fetched
automaticallyCheckMessagesAtStartup: if the plugin should automatically check messages at startup. By default it's true.
debug: if this is set to
true
, all the message returned by the server will be displayed, if this is set tofalse
a message will appear only once for app installation. This isfalse
by defaultthemeForMessage: a function to provide a message theme (colors and fonts) for in app messages.
onButtonPressed: a callback called when a button of an in app message iis pressed.
Last updated
Was this helpful?