firebase pu sh уведомление с неработающей экспо - PullRequest
0 голосов
/ 28 мая 2020

У меня есть приложение, основанное на реакции native с expo. Для уведомлений pu sh я пытаюсь использовать firebase. Я создал функции в firebase и попытался отправить уведомление из firebase на свой iphone. Я не вижу проблем в коде и проверенном журнале firebase. Получение сообщения о статусе "ОК" после срабатывания этой функции, но я все еще не получал уведомления на свой мобильный телефон. Кто-нибудь может помочь?

Я использую платный тарифный план Firebase. Тот же код выдает уведомление, когда я запускаю непосредственно из собственного приложения React.

const functions = require("firebase-functions");
const fetch = require("node-fetch");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);

exports.sendPushNotification = functions.database
  .ref("orders/{id}")
  .onCreate((snapshot, context) => {
    var messages = [];
    const root = admin.database().ref("customers");
    console.log("customers : " + root.path);
    return root
      .once("value")
      .then((snapshot) => {
        snapshot.forEach((childSnapshot) => {
          //alert(expoToken);
          var expoToken = childSnapshot.val().expoPushToken;
          console.log("token : " + expoToken);
          if (expoToken) {
            messages.push({
              to: expoToken,
              title: "hello",
              body: "New Order",
            });
          }
        });
        return Promise.all(messages);
      })
      .then((messages) => {
        const res = fetch("https://exp.host/--/api/v2/push/send", {
          method: "POST",
          headers: {
            Accept: "application/json",
            "Content-Type": "application/json",
          },
          body: JSON.stringify(messages),
        });
        console.log(res);
        return res;
      });
  });

1 Ответ

0 голосов
/ 29 мая 2020

Не уверен, в чем была проблема, но после того, как я добавил строку ниже в тег заголовков, он начал работать нормально.

"Accept-encoding": "gzip, deflate"

...