Sometimes notifications aren't received, but Azure gives back 'Enqueued' as the result of 'SendTemplateNotificationAsync'. I log everything in a database. I've checked the FCM registration token in the Google Play Console and there is no record of the notifications that didn't get received by the user (and there is a record of the ones that are received), yet Azure said they were 'Enqueued'. I checked the metrics graph in Azure Portal and the stats don't match up at all. Azure thinks they are successful notifications, but they aren't.
Edit for Peter Pan:
Sending the notification and checking the outcome from Azure:
var result = hubClient.SendTemplateNotificationAsync(properties, tags).Result;
// result is always 'Enqueued', but user doesn't always get the notification
AddOutcomeToDatabase(result)
Checking whether FCM received it:
Google Play Console -> app -> Development tools -> FCM Diagnostics and put in the registration token of the user. I see that the dates he got the notification are there but the dates he didn't aren't there.
- Checking Azure Portal for the stats:
Azure Portal -> Notification Hubs -> hub -> Metrics and tick GCM errors and select the date range. GCM Errors = 0.