Firebase сообщения, сообщение не получено - PullRequest
0 голосов
/ 11 апреля 2019

Моя облачная функция утверждает, что она успешно отправила сообщение undefined messages were sent successfully, но я не получаю его:

const functions = require("firebase-functions");
const admin = require("firebase-admin");

var serviceAccount = require("./config.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://pushmessage-bd1eb.firebaseio.com"
});

const messaging = admin.messaging();
const message = {
            data: { title: "Testing", body: "Test" },
            token:
                "fm8hZocb9X0:APA91bGANY8U1k7iXSAofh8PEtyA3SfkAvyvicjHbSzDC7s1DwzhCxBBhj5oeAhiZpNLFC1wUHOPX_C0vlGtUMv882EXxBjsM4qeBpFndka8kzir9kgmJnuPTRImx2cxUT53oXzJuAzB"
        };

        messaging.send(message).then(response => {
            console.log(
                response.successCount + " messages were sent successfully"
            );
        });

Если для отправки сообщения я использую тот же токен в панели управления firebase, сообщение отправляется успешно.

Как я могу настроить облачную функцию для отправки сообщения?

config.json:

{
  "type": "service_account",
  "project_id": "pushmessage-bd1eb",
  "private_key_id": "xxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\nxxx-----END PRIVATE KEY-----\n",
  "client_email": "firebase-adminsdk-8dd2o@pushmessage-bd1eb.iam.gserviceaccount.com",
  "client_id": "xxx",
  "senderID": "388436954224",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-8dd2o%40pushmessage-bd1eb.iam.gserviceaccount.com"
}

1 Ответ

0 голосов
/ 12 апреля 2019

Вы используете admin.messaging (). Send ()?

См:

Пожалуйста, попробуйте следующий код.

Изменить data на notification.

И admin.messaging (). Send () возвращает строку.

      const message = {
        notification: { title: "Testing", body: "Test" },
        token:
            "The registration token here"
      };

      admin.messaging().send(message).then(response => {
        console.log(
            response + " messages were sent successfully"
        );
      });

Или вы можете использовать admin.messaging (). SendToDevice ().

См:

Пожалуйста, попробуйте следующий код.

      const token= "The registration token here";
      const payload = {
        notification: { title: "Testing", body: "Test" }
      };

      admin.messaging().sendToDevice(token, payload).then(response => {
        console.log(
            response.successCount + " messages were sent successfully"
        );
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...