gpt4 book ai didi

java - FCM 没有看到从 Spring 后端应用程序发送的消息

转载 作者:行者123 更新时间:2023-12-01 18:35:24 28 4
gpt4 key购买 nike

我在 Firebase 云消息传递下配置了一个 Android 应用,当我从控制台发送通知时,我会在 Android 应用中看到该通知。

我现在正在尝试实现从后端服务器 java spring 应用程序发送通知,这是我的服务:

@Slf4j
@Service
public class FCMService {


public void sendMessageWithData() throws FirebaseMessagingException {
Message message = getPreconfiguredMessageWithData();
String response = sendAndGetResponse(message);
log.info("Sent message with data.");
}


private String sendAndGetResponse(Message message) throws FirebaseMessagingException {
return FirebaseMessaging.getInstance().send(message);
}

private AndroidConfig getAndroidConfig(String topic) {
return AndroidConfig.builder()
.setTtl(Duration.ofMinutes(2).toMillis()).setCollapseKey(topic)
.setPriority(AndroidConfig.Priority.HIGH)
.setNotification(AndroidNotification.builder().setSound("default")
.setColor("#FFFF00").setTag(topic).build()).build();
}

private ApnsConfig getApnsConfig(String topic) {
return ApnsConfig.builder()
.setAps(Aps.builder().setCategory(topic).setThreadId(topic).build()).build();
}

private Message getPreconfiguredMessageWithData() {
return getPreconfiguredMessageBuilder().setTopic("all")
.putData("test", "data")
.build();
}


private Message.Builder getPreconfiguredMessageBuilder() {
AndroidConfig androidConfig = getAndroidConfig("all");
ApnsConfig apnsConfig = getApnsConfig("all");
return Message.builder()
.setApnsConfig(apnsConfig).setAndroidConfig(androidConfig)
.setNotification(
new Notification("sample title", "sample message"));
}


}

消息已正确发送,我在响应中获取了消息的 ID,但通知在应用程序中不可见,并且我无法在 Firebase 控制台中将其视为新通知。哪里有问题?我还缺少什么吗?

最佳答案

您可以测试您的应用程序使用curl发送推送通知,这样您就可以验证问题是否出在您的服务或应用程序中

curl -X POST -H "Authorization: Bearer YOUR-TOKEN" -H "Content-Type: application/json" -d '{
"message":{
"token":"TARGET_DEVICE_TOKEN",
"notification":{
"title":"Hello",
"body":"This is a text message!"
}
}
}' https://fcm.googleapis.com/v1/projects/YOUR-PROJECT-SHORT-NAME/messages:send

关于java - FCM 没有看到从 Spring 后端应用程序发送的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60067341/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com