发送通知的云函数返回成功结果,但未收到

时间:2019-11-10 10:05:06

标签: firebase firebase-cloud-messaging google-cloud-functions

编辑:检查我的客户应用程序的日志,可以看到确实收到了该消息,但是无论该消息是在前台还是在后台,都没有推送通知(在使用控制台的地方,它确实显示了推送)通知)。

我已遵循文档并实施了所有内容。当我尝试从Firebase控制台云消息传递工具向主题发送消息时,它可以正常工作,但是当我尝试通过云函数发送消息时,它返回成功的结果,但客户端从未收到通知。 >

这是我的云功能。它用于通知餐馆老板新的预订:

function sendNotification(businessID: string, partySize : number, arrivalTime : string){


    const message = {
      data: {
        content: 'New reservation for '+ partySize + 'people arriving at ' + arrivalTime
      },
      topic: businessID
    };

    // Send a message to devices subscribed to the provided topic.
    return 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);
      });

} 

在通过此侦听器进行新的预订时调用此函数:

exports.newReservation = functions.firestore.document('claimed_deals/{claimedDealID}').onCreate((snap, context) => {
    const newReservationDoc = snap.data();

    if (newClaimedDeal !== undefined) {
        const userID = newReservationDoc .customer_ID;
        const dealID = newReservationDoc .deal_ID;

        const promises: any = [];

        //other promises

        promises.push(sendNotification(newReservationDoc .business_ID, newReservationDoc.customer_party_size, newReservationDoc.arrivalTime));

        return Promise.all(promises);
    } else {
        return null;
    };

});

因此,我不断收到此日志Successfully sent message...,但是客户端应用程序上什么也没有显示。当我尝试从控制台工具手动操作到同一家餐厅时,我毫无问题地收到通知。其他餐厅也一样。我在说什么错?

0 个答案:

没有答案