我们目前正在努力发送 Firebase 数据通知。据我所知,这些根本没有被发送。这是 Firebase 控制台的屏幕截图:
这是负责在我们的 Spring Boot 服务器中发送的代码:
public boolean sendSilentPushMessage(String pushToken, Map<String, String> notificationPayload) {
Message.Builder messageBuilder = Message.builder();
// prepare message with body
Message message = messageBuilder
.putAllData(notificationPayload)
.setToken(pushToken)
.build();
// send notification to Firebase
try {
final var messageId = FirebaseMessaging.getInstance(firebaseApp).send(message);
log.debug("Sent silent firebase push notification: " + messageId);
return true;
}
catch (FirebaseMessagingException e) {
log.warn("Could not send firebase silent push notification", e);
return false;
}
}
我可以看到Firebase消息正在发送的日志(包括消息ID):
我如何进一步调试这个?没有抛出异常。
您能否举例说明您发送的负载类型。数据通知是未填写任何 UI 通知字段的通知。
示例:“正常”通知
const singleMessage: admin.messaging.Message = {
android: {},
apns: {},
data: {}, // Optional
token: token
}
数据通知:
const singleMessage: admin.messaging.Message = {
data: {},
token: token
}
如果它有任何 APNS 或 Android 字段,它将始终被视为“正常”通知