java - 无法解析符号 com.google.firebase.messaging.Message

标签 java android firebase firebase-cloud-messaging

我通过以下链接来实现 Firebase Messaging 以将消息发送到多个设备

https://firebase.google.com/docs/cloud-messaging/android/send-multiple#build_send_requests

我几乎完成了实现,但只是停留在最后阶段(构建发送请求)

在下面的代码中

Message message = Message.builder()
    .putData("score", "850")
    .putData("time", "2:45")
    .setTopic(topic)
    .build();

我收到错误无法解析符号“Message”

也在队列中

String response = FirebaseMessaging.getInstance().send(message);

当我按住 Ctrl 键并单击 send() 方法时,参数 message 显示为 RemoteMessage 的实例,而不是返回的 Message void 类型,而不是 String

我是否缺少任何依赖项,或者最新的 Firebase 消息传递库的实现是否有任何变化?

我在应用级别使用以下(最新)Firebase 版本 build.gradle

implementation 'com.google.firebase:firebase-messaging:19.0.1'
implementation 'com.google.firebase:firebase-core:17.0.1'

最佳答案

Message类位于 Firebase admin sdk 内部,但您不能在 Android 项目中使用它,您只能在服务器端使用 firebase admin sdk,然后您将能够使用 Message类(class)。检查引用文档:-

https://firebase.google.com/docs/cloud-messaging/manage-topics

为了能够使用管理 sdk,您需要一个类似 Tomcat 的服务器,您还应该使用java版本8,那么您可以按照以下教程进行操作:-

https://firebase.google.com/docs/admin/setup/#prerequisites

<小时/>

原始答案

您需要使用RemoteMessage类,示例:

RemoteMessage message = RemoteMessage.builder()
    .addData("score", "850")
    .addData("time", "2:45")
    .build();

查看此处了解更多信息:

https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage

<罢工> https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Builder.html

关于java - 无法解析符号 com.google.firebase.messaging.Message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059108/

相关文章:

java - 随机化文本文件以避免树不平衡

java - 有没有办法重新启动应用程序,而不是让它在崩溃后重新启动最后一个 Activity ?

android - 如何在 React Native 中将焦点或光标设置在 TextInput 上

swift - 如何知道 fetchProviders() 何时完成执行?

javascript - 如何在 firebase 中显示带有值事件的记录列表?

Java 正则表达式 for ,后面不跟空格

java - 是否可以有一个类型参数扩展另外 2 个类型参数?

ios - 检索 Firebase 数据

java - 在创建 CardView 并将其放入 RecyclerView 后访问 CardView 中的项目

android - 创建分段 ListView