Админ Firebase не определен - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу отправить сообщение, но у меня ошибка администратора не определена.

var firebaseConfig = {
  my conig
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

setInterval(function(){

        // This registration token comes from the client FCM SDKs.
        var registrationToken = 'mytoken';

        var message = {
        data: {
            tittle: 'Tarea no Iniciada',
            body: 'Todavia no has iniciado tu tarea'
        },
        token: registrationToken
        };

        // Send a message to the device corresponding to the provided
        // registration token.
        admin.messaging().send(message)
        .then((response) => {
            // Response is a message ID string.
            console.log('Successfully sent message:', response);
        })
        .catch((error) => {
            console.log('Error sending message:', error);
        });

},3000);

Это мой сценарий, я использую javascript, а не node.js

1 Ответ

0 голосов
/ 24 апреля 2020

Поскольку в вашем коде вы выполняете

var firebaseConfig = {
  my conig
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

, кажется, что вы инициализируете JavaScript SDK в клиентском приложении и пытаетесь вызвать Admin SDK из этот клиент.


Как вы прочтете в документации , «Admin SDK позволяет вам взаимодействовать с Firebase из привилегированных сред ».

С «Привилегированная среда» в документации означает сервер, которым вы полностью контролируете, или облачную функцию в вашем проекте Firebase, которая выполняет внутренний код (и который вы также контролируете, поскольку он находится в вашем собственном проекте).

документация для Firebase Cloud Messaging также четко указывает, что:

Серверная часть Firebase Cloud Messaging состоит из двух компонентов:

  • Бэкенд FCM предоставлен Google. Ваш сервер приложений или другая доверенная серверная среда, в которой работает логи сервера c, например облачные функции для Firebase или другие облачные среды, управляемые Google.

  • Ваш сервер приложений или среда доверенного сервера отправляет запросы сообщений в серверную часть FCM, которая затем направляет сообщения клиентским приложениям, работающим на устройствах пользователей.

Посмотрите также страницу на Обзор архитектуры FCM .


Таким образом, вы не можете использовать Admin SDK из клиентского приложения для отправки сообщения. Вам нужно либо настроить свой сервер , либо использовать облачные функции .

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