【问题标题】:Cloud Firestore Notifications not receiving when app is running android应用程序运行 android 时未收到 Cloud Firestore 通知
【发布时间】:2019-04-21 14:37:57
【问题描述】:

我有一个向用户发送通知的云 Firestore 功能。

[安卓]

它工作得很好,但只有当应用程序处于后台(暂停或终止)时我才会收到通知。

这是我的功能的简化版本:

    'use strict'


const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);


exports.sendNotification = functions.database.ref('/Notifications/{receiver_user_id}/{notification_id}')
.onWrite((data, context) =>
{
    const receiver_user_id = context.params.receiver_user_id;
    const notification_id = context.params.notification_id;


console.log('We have a notification to send to :' , receiver_user_id);


if (!data.after.val()) 
{
    console.log('A notification has been deleted :' , notification_id);
    return null;
}

const DeviceToken = admin.database().ref(`/Users/${receiver_user_id}/device_token`).once('value');

return DeviceToken.then(result => 
{
    const token_id = result.val();

    const payload = 
    {
        notification:
        {
            title: "New Chat Request",
            body: `You have a new chat Request`,
            icon: "default"
        }
    };

    return admin.messaging().sendToDevice(token_id, payload)
    .then(response => 
        {
            console.log('This was a notification feature.');
        });
});
});

我没有任何特定的 java 代码,因为我现在只需要显示通知。 有没有人想以一种简单的方式归档这个问题?

【问题讨论】:

    标签: android firebase google-cloud-firestore firebase-cloud-messaging


    【解决方案1】:

    当您的应用处于后台时,系统会处理 FCM 通知,并显示在 Android 的系统托盘中。如果您想在应用程序处于活动状态时处理通知,则必须由overriding onMessageReceived 编写代码。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2018-04-01
      • 2020-02-06
      • 2021-11-23
      相关资源
      最近更新 更多