getInAppMessages method
Implementation
@override
Future<List<InAppMessageData>> getInAppMessages() async {
try {
List<Object?> messages = await methodChannel.invokeMethod('getInAppMessages');
return messages.map((m) {
var message = m as Map<Object?, Object?>;
var buttons = message['buttons'] as List<Object?>;
return InAppMessageData(
message['id'] as String,
message['title'] as String,
message['body'] as String,
InAppMessageType.getByValue(message['type'] as int),
getDate(message['creationDate']),
getDate(message['expirationDate']),
getDate(message['receptionDate']),
message['hasBeenSeen'] as bool,
buttons.map((b) {
var button = b as Map<Object?, Object?>;
return ButtonData(
button['id'] as String,
button['label'] as String,
NotificationButtonType.getByValue(button['type'] as int),
button['value'] as String,
button['data']
);
}).toList()
);
}).toList();
}
on PlatformException catch(exception) {
log.severe('Exception when getting inapp messages status: ${exception.message}');
return [];
}
}