1

我想用谷歌的 fcm 发送一条消息,但我需要一个名为“Message”的类,但它在我的导入中不存在。(我实现了 com.google.firebase:firebase-messaging:18.0.0)

我尝试使用远程消息类,但它不适合我的问题。

implementation 'com.google.firebase:firebase-core:16.0.9'
implementation 'com.google.firebase:firebase-messaging:18.0.0'

我想使用这个示例代码:

// The topic name can be optionally prefixed with "/topics/".
String topic = "highScores";

// See documentation on defining a message payload.
Message message = Message.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .setTopic(topic)
    .build();

// Send a message to the devices subscribed to the provided topic.
String response = FirebaseMessaging.getInstance().send(message);
// Response is a message ID string.
System.out.println("Successfully sent message: " + response);

需要的类是这样的:https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/messaging/Message但它不存在。

4

1 回答 1

0

使用 Firebase 云消息传递向用户/设备发送消息需要您的代码有权访问 FCM 服务器密钥。顾名思义,此密钥只能在服务器上使用,因为访问此密钥可以让您向应用程序的所有用户发送任何消息。

您似乎在 Android 应用程序中编写代码,而Message您所指的类是 Firebase Admin SDK 的一部分。Admin SDK 为其用户提供对您的 Firebase 项目(包括您的 FCM 服务器密钥)的完全访问权限,因此只能在受信任的环境中使用,例如您的开发机器、您控制的服务器或 Cloud Functions。

因此,要将消息发送用户/设备,您将始终需要一个服务器或其他受信任的环境来发送它们。有关这方面的更多信息,请参阅:

于 2019-05-26T14:46:26.530 回答