toMap method
Returns the RemoteMessage as a raw Map.
Implementation
Map<String, dynamic> toMap() {
Map<String, dynamic> result = <String, dynamic>{
'pi_pn_senderId': senderId,
'pi_pn_data': data,
'pi_pn_from': from,
'pi_pn_messageId': messageId,
'pi_pn_messageType': messageType,
'pi_pn_title': title,
'pi_pn_body': body,
'pi_pn_sentTime': sentTime?.millisecondsSinceEpoch,
'pi_pn_ttl': ttl,
'pi_pn_campaignName': "",
'pi_pn_campaignSource': "",
'pi_pn_campaignId': ""
};
if (data.isNotEmpty) {
String targetUrl = data['targetUrl'] ?? "";
String campaignName = data["campaignName"] ?? "";
String campaignSource = data["campaignSource"] ?? "";
String campaignId = data["campaign_id"] ?? "";
if (targetUrl.isNotEmpty) {
result["pi_pn_targetUrl"] = targetUrl;
final uri = Uri.parse(targetUrl);
final queryParams = uri.queryParameters;
campaignName = queryParams["campaignName"] ?? campaignName;
campaignSource = queryParams["campaignSource"] ?? campaignSource;
campaignId = queryParams["campaignId"] ?? campaignId;
}
result["pi_pn_campaignName"] = campaignName;
result["pi_pn_campaignSource"] = campaignSource;
result["pi_pn_campaignId"] = campaignId;
result['pi_pn_metaData'] = data['pi_pn_metaData'];
}
return result;
}