Google FCM Нет класса "Сообщение" - PullRequest
0 голосов
/ 26 мая 2019

Я хочу отправить сообщение с помощью fcm из Google, но мне нужен класс с именем "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, но его не существует.

1 Ответ

0 голосов
/ 26 мая 2019

Отправка сообщений на пользователей / устройств с помощью Firebase Cloud Messaging требует, чтобы ваш код имел доступ к ключу сервера FCM.Как следует из названия, этот ключ следует использовать только на сервере, так как доступ к этому ключу позволяет отправлять любые сообщения всем пользователям вашего приложения.

Похоже, вы пишете код в приложении Androidв то время как класс Message, на который вы ссылаетесь, является частью Firebase Admin SDK.Admin SDK предоставляет своим пользователям полный доступ к вашему проекту Firebase (включая ваш ключ сервера FCM), и по этой причине его можно использовать только в доверенной среде, такой как ваша машина разработки, сервер, которым вы управляете, или облачные функции.

Таким образом, чтобы отправлять сообщения на пользователю / устройству, вам всегда потребуется сервер или иная доверенная среда для их отправки.Подробнее об этом см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...