getMessageId
Gets the unique message ID for this push notification.
The message ID uniquely identifies this specific push message instance. Use this for detailed tracking, deduplication, message history, and correlating user interactions with specific message deliveries. Example:
protected boolean onMessageReceived(PushMessage message) {
long messageId = message.getMessageId();
long campaignId = message.getCampaignId();
// Deduplicate messages
if (isMessageAlreadyProcessed(messageId)) {
Log.d("App", "Message " + messageId + " already processed");
return true; // Suppress duplicate
}
// Store in message history
saveMessageHistory(messageId, campaignId, message.toJson().toString());
// Track delivery in analytics
analytics.trackEvent("push_delivered", new HashMap<String, Object>() {{
put("message_id", messageId);
put("campaign_id", campaignId);
put("is_silent", message.isSilent());
}});
return false;
}
// Track user journey from notification to conversion
protected void trackPurchaseAttribution(String orderId, double amount) {
SharedPreferences prefs = getSharedPreferences("app", MODE_PRIVATE);
long lastMessageId = prefs.getLong("last_opened_message_id", 0);
long lastCampaignId = prefs.getLong("last_opened_campaign_id", 0);
if (lastMessageId != 0) {
// Attribute purchase to the notification
analytics.trackPurchase(orderId, amount, lastCampaignId, lastMessageId);
Log.d("Analytics", "Purchase attributed to message: " + lastMessageId);
}
}
Content copied to clipboard
Return
message ID as a long value, or 0 if not available