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

dav*_*vid 5 firebase firebase-cloud-messaging

我有以下代码,它使用 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);
Run Code Online (Sandbox Code Playgroud)

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

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

Bob*_*der 6

为了发送到 Android 设备,在构建消息时,将其AndroidConfig设置为具有Priority.HIGH的值:

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();
Run Code Online (Sandbox Code Playgroud)

有关其他详细信息,请参阅文档中的示例

发送到 Apple 设备时,请使用setApnsConfig(),如文档中所述。