parse static method
Implementation
static List<PamPushMessage> parse(String jsonStr) {
Map<String, dynamic> map;
try {
map = jsonDecode(jsonStr);
} catch (e, stackTrace) {
Pam.log(["Push Message Parse Error", stackTrace, e]);
return [];
}
List<PamPushMessage> result = [];
var items = map["items"] as List<dynamic>;
for (var element in items) {
Map<String, dynamic> json = element;
String? deliverID = json["deliver_id"];
String? pixel = json["pixel"];
String? title = json["title"];
String? description = json["description"];
String? thumbnailUrl = json["thumbnail_url"];
String? flex = json["flex"];
String? url = json["url"];
var payloadJson = json["json_data"]["pam"] as Map<String, dynamic>;
String? popupType = payloadJson["popupType"];
var dateString = json["created_date"];
DateTime utcDateTime = DateTime.parse(dateString + "Z");
DateTime localDateTime = utcDateTime.toLocal();
bool isOpen = json["is_open"];
var item = PamPushMessage(
deliverID: deliverID,
pixel: pixel,
title: title,
description: description,
thumbnailUrl: thumbnailUrl,
flex: flex,
url: url,
popupType: popupType,
date: localDateTime,
isOpen: isOpen,
data: payloadJson);
result.add(item);
}
return result;
}