An Azure service that is used to send push notifications to all major platforms from the cloud or on-premises environments.
Hi @Zuozhen ,
Thanks for reaching out in Microsoft Q&A forum,
Based on the information provided, the issue appears to be related to a targeting issue in the Portal Test Send and a separate FCM v1 payload format issue, rather than a credential issue.
In Azure Notification Hubs, Send to Tag Expression is meant for Notification Hubs tags, not for a raw FCM registration token. So if you paste the FCM token there and the hub has no registration or installation that matches that token as a tag, the send can complete with 0 passed / 0 failed and an empty results table. That behavior is expected and does not mean the FCM token itself is invalid.
The other signal, FCMv1 Invalid Notification Format, strongly suggests that at least some of the payloads sent to the hub were not in the correct FCM v1 shape. For FCM v1, the payload needs to use the top-level message wrapper. Legacy payloads such as a top-level notification object without message can trigger this metric. Your newer examples that use message.notification are the right direction.
- Portal Test Send is not the right way to test a raw FCM token unless that token exists as a tag or registration in Notification Hubs.
- Direct Send through your backend is the correct model for your architecture, where the raw FCM token is used as the device handle.
- The Invalid Notification Format metric points more to payload structure issues than to authentication, especially since Firebase Console can already deliver to the same device token successfully.
Because Firebase Console delivery works with the same token, and you are not seeing strong authorization failures in Notification Hubs, credentials are less likely to be the primary problem. The more likely causes are using the token in the wrong portal field and earlier sends using legacy or malformed FCM payloads.
Recommended next step: validate the backend direct-send flow with a minimal FCM v1 payload like this:
{
"message": {
"notification": {
"title": "Azure NH test",
"body": "Hello"
}
}
}
If that succeeds, you can then add android.data fields as needed.
Reference:
- Azure Notification Hubs and the Google Firebase Cloud Messaging (FCM) migration using REST APIs and SDKs | Microsoft Learn
- Set up push notifications in Azure Notification Hubs | Microsoft Learn
- Direct send | Microsoft Learn
Kindly let us know if the above helps or you need further assistance on this issue.
Please do not forget to
and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.