@Override
    public boolean notify(final Principal principal, final Map<String, String> messageData) {
        try {
            val deviceToken = principal.getSingleValuedAttribute(properties.getRegistrationTokenAttributeName(), String.class);
            val message = Message.builder()
                .putAllData(messageData)
                .setToken(deviceToken)
                .build();
            val firebaseMessaging = FirebaseMessaging.getInstance(firebaseApp);
            return StringUtils.isNotBlank(firebaseMessaging.send(message));
        } catch (final Exception e) {
            LoggingUtils.error(LOGGER, e);
        }
        return false;
    }
This is {@link GoogleFirebaseCloudMessagingNotificationSender}.

@author Misagh Moayyed
@since 6.3.0
support/cas-server-support-notifications-fcm/src/main/java/org/apereo/cas/notifications/GoogleFirebaseCloudMessagingNotificationSender.java