BrazeInAppMessage constructor
BrazeInAppMessage(
- String _data
Implementation
BrazeInAppMessage(String _data) {
inAppMessageJsonString = _data;
var inAppMessageJson = json.jsonDecode(_data);
var messageJson = inAppMessageJson["message"];
if (messageJson is String) {
message = messageJson;
}
var headerJson = inAppMessageJson["header"];
if (headerJson is String) {
header = headerJson;
}
var uriJson = inAppMessageJson["uri"];
if (uriJson is String) {
uri = uriJson;
}
var imageUrlJson = inAppMessageJson["image_url"];
if (imageUrlJson is String) {
imageUrl = imageUrlJson;
}
var zippedAssetsUrlJson = inAppMessageJson["zipped_assets_url"];
if (zippedAssetsUrlJson is String) {
zippedAssetsUrl = zippedAssetsUrlJson;
}
var useWebViewJson = inAppMessageJson["use_webview"];
if (useWebViewJson is bool) {
useWebView = useWebViewJson;
}
var durationJson = inAppMessageJson["duration"];
if (durationJson is int) {
duration = durationJson;
}
var clickActionJson = inAppMessageJson["click_action"];
if (clickActionJson is String) {
for (ClickAction action in ClickAction.values) {
if (action
.toString()
.toLowerCase()
.endsWith(clickActionJson.toLowerCase())) {
clickAction = action;
}
}
}
var dismissTypeJson = inAppMessageJson["message_close"];
if (dismissTypeJson is String) {
for (DismissType type in DismissType.values) {
if (type
.toString()
.toLowerCase()
.endsWith(dismissTypeJson.toLowerCase())) {
dismissType = type;
}
}
}
var messageTypeJson = inAppMessageJson["type"];
if (messageTypeJson is String) {
for (MessageType type in MessageType.values) {
if (type
.toString()
.toLowerCase()
.endsWith(messageTypeJson.toLowerCase())) {
messageType = type;
}
}
}
var extrasJson = inAppMessageJson["extras"];
if (extrasJson is Map<String, dynamic>) {
extrasJson.forEach((key, value) {
if (extrasJson[key] is String) {
extras[key] = value;
}
});
}
var buttonsJson = inAppMessageJson["btns"];
if (buttonsJson is List<dynamic>) {
for (var buttonJson in buttonsJson) {
buttons.add(BrazeButton(buttonJson));
}
}
}