convertToPamPushMessage static method

PamPushMessage? convertToPamPushMessage(
  1. RemoteMessage message
)

Implementation

static PamPushMessage? convertToPamPushMessage(RemoteMessage message) {
  if (isPushNotiFromPam(message)) {
    var data = message.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 title = message.notification?.title ?? "";
    String description = message.notification?.body ?? "";

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

    return item;
  }
  return null;
}