首页 > 解决方案 > Firebase 不会停止发送消息

问题描述

从我的前面(角度 4)我使用 firebase API 调用节点,这个服务器节点。函数消息()。发送到设备(参数 1,参数 2)。

问题是,在我发送通知后,当我从 Firebase 控制台运行它时,它不会每分钟或每 4 分钟停止发送通知。

我的前端是用angular 4开发的,后端node.js,API firebase(firebase-admin),方法messaging().sendToDevice(token,message)

角度 4:

public sendMessage(token){
    var message = {
         notification: {
            title: 'NOTIFICACIÓN',  
            body: 'Notificación enviada desde el panel de administración'
         },
         data: {
            contentUrl: 'https://as.com',
            contentType: 'firma'
         }
         //token: token
    };
    this.firebase.sendMessage(this.url, message).subscribe((result) => {});
} 

节点.js

admin.messaging().sendToDevice(req.body.token,req.body)
  .then(function(response){
      console.log("ha ido perfecto el envio del message---->>",response);
      res.json(message) 
  })
  .catch(function(err){ 
      console.log("Ha ocurrido un error------------->", err) 
  });

CallBacks
-第一个消息回调:

{
  results: [
   { 
    messageId: '0:1560440395028889%83725e9583725e95'
   }
 ],
  canonicalRegistrationTokenCount: 0,
  failureCount: 0,
  successCount: 1,
  multicastId: 5776433739052639000 
}

-其余消息:

  ReferenceError: message is not defined

标签: node.jsangularfirebaseexpressfirebase-cloud-messaging

解决方案


解决了!

Angular 4 组件:

    public sendMessage(token){
    var message = {
         notification: {
            title: 'NOTIFICACIÓN',  
            body: 'Notificación enviada desde el panel de administración'
         },
         data: {
            contentUrl: 'https://as.com',
            contentType: 'firma'
         }
         //token: token
    };
    this.firebase.sendMessage(this.url, message).subscribe((result) => {});
   } 

Angular 4 服务:

// sendMessage
sendMessage(url: string, message:any) {
  this.http.post('https://' + url + this.URL_API +'/sendmessage', message).subscribe((res)=>{console.log("res",res);      ;
});
}

NodeJS 控制器:

admin.messaging().sendToDevice(req.body.token,req.body)
  .then(function(response){
      console.log("ha ido perfecto el envio del message---->>",response);
  })
  .catch(function(err){ 
      console.log("Ha ocurrido un error------------->", err) 
  });

我已经从组件中删除了订阅,在服务中我已经删除了返回并添加了订阅。nodejs驱动程序我保持不变


推荐阅读