使用 firebase-admin 时设置 FCM 高优先级

2024-03-09

我有以下代码,它使用 firebase-admin 使用 Firebase 云消息传递发送消息

Message message = null;
message = Message.builder().putData("From", fromTel).putData("To", toTel).putData("Text", text)
            .setToken(registrationToken).build();

String response = null;
try {
    response = FirebaseMessaging.getInstance().sendAsync(message).get();
    responseEntity = new ResponseEntity<String>(HttpStatus.ACCEPTED);
} catch (InterruptedException | ExecutionException e) {
    e.printStackTrace();
}
System.out.println("Successfully sent message: " + response);

上面的代码工作正常。但我需要发送“高优先级”消息,以便设备可以在打瞌睡模式下接收它们。

如何使消息成为“高优先级”?


要发送到 Android 设备,在构建消息时,设置其Android配置 https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/messaging/AndroidConfig到一个值优先级.高 https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/messaging/AndroidConfig.Priority:

AndroidConfig config = AndroidConfig.builder()
        .setPriority(AndroidConfig.Priority.HIGH).build();

Message message = null;
message = Message.builder()
        .putData("From", fromTel).putData("To", toTel).putData("Text", text)
        .setAndroidConfig(config) // <= ADDED
        .setToken(registrationToken).build();

有关更多详细信息,请参阅文档中的示例 https://firebase.google.com/docs/cloud-messaging/admin/send-messages#android_specific_fields.

发送到 Apple 设备时,使用setApnsConfig(),如中所解释的文档 https://firebase.google.com/docs/cloud-messaging/admin/send-messages#apns_specific_fields.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 firebase-admin 时设置 FCM 高优先级 的相关文章

随机推荐