convertToPamPushMessage static method

PamPushMessage? convertToPamPushMessage(
  1. Map<String, dynamic> data
)

Implementation

static PamPushMessage? convertToPamPushMessage(Map<String, dynamic> data) {
  if (isPushNotiFromPam(data)) {
    final String pam = data["pam"];

    Map<String, dynamic> payload;
    try {
      payload = jsonDecode(pam);
    } catch (e) {
      Pam.log([e]);
      return null;
    }

    final String flex = payload['flex'];
    RegExp regExp = RegExp(r'src="(.*?)"');
    String? match = regExp.firstMatch(flex)?.group(1);
    String banner = match?.toString() ?? "";
    String pixel = payload['pixel'] ?? "";
    String popupType = payload['popup_type'] ?? "";
    String url = payload['url'] ?? "";
    String? clickTrackingUrl = payload["click_tracking_url"];
    String? redirectId = payload["redirect_id"];

    var item = PamPushMessage(
        deliverID: "",
        pixel: pixel,
        title: "",
        description: "",
        thumbnailUrl: banner,
        flex: flex,
        url: url,
        popupType: popupType,
        date: DateTime.now(),
        isOpen: false,
        data: payload,
        clickTrackingUrl: clickTrackingUrl,
        redirectId: redirectId);

    return item;
  }
  return null;
}