gpt4 book ai didi

firebase - 使用 Java SDK : how to handle correctly and differentiate failures 进行 FCM 消息传递

转载 作者:行者123 更新时间:2023-12-03 06:41:37 24 4
gpt4 key购买 nike

我正在将 Firebase Cloud Messaging 与 Java SDK (com.google.firebase:firebase-admin v 5.9.0) 结合使用。

处理 Java 代码中的错误的唯一方法是捕获 ExecutionException:

Message message = buildMessage(token,payload);
try {
String response = FirebaseMessaging.getInstance().sendAsync(message).get();
} catch (ExecutionException e) {
LOGGER.error("ExecutionException Error pushing notif : ", e);
}
// Response is a message ID string.
LOGGER.info("Successfully sent message: " + response);

如果我想检测已删除的 token ,我必须读取 ExecutionException(FireBaseMessagingException)中包装的异常,并测试该消息是否为“未找到请求的实体”:

if(e.getCause().getMessage().equals("Requested entity was not found.") {
// token is deleted
}

如果我想检测网络故障,我必须读取 ExecutionException(FireBaseMessagingException)中包装的异常,并测试该消息是否为“调用 FCM 后端服务时出错”:

if(e.getCause().getMessage().equals("Error while calling FCM backend service") {
// network problem, I have to retry
}

要采取的操作取决于此检测,这是非常脆弱的。是否可以实现更准确的错误判断?

最佳答案

关于firebase - 使用 Java SDK : how to handle correctly and differentiate failures 进行 FCM 消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49925954/

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