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 isTestSendJson = inAppMessageJson["is_test_send"];
if (isTestSendJson is bool) {
isTestSend = isTestSendJson;
}
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.name.toLowerCase() == clickActionJson.toLowerCase()) {
clickAction = action;
break;
}
}
}
var dismissTypeJson = inAppMessageJson["message_close"];
if (dismissTypeJson is String) {
for (DismissType type in DismissType.values) {
if (type.name.toLowerCase() == dismissTypeJson.toLowerCase()) {
dismissType = type;
break;
}
}
}
var messageTypeJson = inAppMessageJson["type"];
if (messageTypeJson is String) {
for (MessageType type in MessageType.values) {
if (type.name.toLowerCase() == messageTypeJson.toLowerCase()) {
messageType = type;
break;
}
}
}
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));
}
}
}