扑:火力地堡Pushnotification上的数据变化(Flutter: Firebase Pus

2019-09-25 20:37发布

得到的评论后,我已经部署了该如下因素代码到我的火力点项目,并已成功deploed!。但没有通知的形式发送给我。 请点击这里查看我的火力地堡实时数据库截图更好地理解。

[ITS现在问题解决了:它会发送通知只有一个ID,即我在管理设备]

工作代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firbase);
exports.codeformypeople = functions.database.ref('items/{id}').onWrite(evt => {

const payload = {
notification: { title: 'New Customer Requested', body: 'Touch to Open The App', badge: '1', sound: 'default', }
};
const token ="Lsn-bHfBWC6igTfWQ1-h7GoFMxaDWayKIpWCrzC";//replace with ur token

if (token) {
console.log('Toke is availabel .');
return admin.messaging().sendToDevice(token, payload);
} else {
console.log('token error');
}
});

[

看到这个视频链接更多产品细节

注意:如果您的应用程序被打开,minmized然后它会显示通知,但如果应用程序被打开,你正在使用,或者如果应用程序被终止强制关闭那么它将无法工作!

Answer 1:

您可以使用火力云功能触发通知。 下面是其中我使用触发通告云功能片段:

const functions = require('firebase-functions');

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

exports.pushNotification = functions.database.ref('/Notifications/{pushId}')
 .onWrite(( change,context) => {
    console.log("Push Notification event triggered");
    var request = change.after.val();
    var payload = {
        data:{
            username: request.userName,
        }
    };
    admin.messaging().sendToDevice(request.userTokenId, payload)
    .then(function(response){
        console.log("Successfully sent message: ",response);
        console.log(response.results[0].error);
    })
    .catch(function(error){
        console.log("Error sending message: ", error)
    })
 })

下面我提供我的通知结构,你可以看到,如果有新数据在数据库通知节点推below.This功能将被触发。 要看到什么是输出/错误你得到时,这个功能是触发去火力管理面板>功能>日志。

你已经完全部署的功能代码,但你忘了添加刷新tokenId在你的数据库,你可以在上面的图片中看到我现在的储蓄userTokenId在我的数据库和功能admin.messaging().sendToDevice(request.userTokenId, payload)我是使用tokenId,这tokenId用来发送通知给特定的设备,你可以得到这个使用tokenId FirebaseInstanceId.getInstance().getToken()并把它保存在您的fbproject1 > items数据库内在张力结构。 请参阅此与此



文章来源: Flutter: Firebase Pushnotification On Data Change