inAppMessageFromJsonDictionary static method
Creates and initializes an in app message object from a JSON object. @param jsonDictionary The dictionary from the JSON. @returns The in app message created.
Implementation
static MBInAppMessage inAppMessageFromJsonDictionary(
Map<String, dynamic> jsonDictionary) {
int id = jsonDictionary['id'];
String styleString = jsonDictionary['style'];
bool isBlocking = jsonDictionary['isBlocking'];
double duration = jsonDictionary['duration'];
String? title = jsonDictionary['title'];
int? titleColor = jsonDictionary['titleColor'];
String? body = jsonDictionary['body'];
int? bodyColor = jsonDictionary['bodyColor'];
String? image = jsonDictionary['image'];
int? backgroundColor = jsonDictionary['backgroundColor'];
List<MBInAppMessageButton>? buttons;
if (jsonDictionary['buttons'] != null) {
buttons = [];
List<Map<String, dynamic>> buttonsDictionaries =
List.castFrom<dynamic, Map<String, dynamic>>(
jsonDictionary['buttons']);
for (Map<String, dynamic> buttonDictionary in buttonsDictionaries) {
buttons.add(
MBInAppMessageSavingUtility._inAppMessageButtonFromJsonDictionary(
buttonDictionary));
}
}
return MBInAppMessage(
id: id,
style: _inAppMessageStyleForString(styleString),
isBlocking: isBlocking,
duration: duration,
title: title,
titleColor: titleColor != null ? Color(titleColor) : null,
body: body,
bodyColor: bodyColor != null ? Color(bodyColor) : null,
image: image,
backgroundColor: backgroundColor != null ? Color(backgroundColor) : null,
buttons: buttons,
);
}