通知不会推送到Android设备

时间:2018-04-04 11:52:42

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

数据库:

enter image description here

我是初学者,所以我按照指南向我们在firebase平台上构建的数据库发送通知给用户。

这是我的js:

/*
 * Functions SDK : is required to work with firebase functions.
 * Admin SDK : is required to send Notification using functions.
 */

'use strict'

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


/*
 * 'OnWrite' works as 'addValueEventListener' for android. It will fire the function
 * everytime there is some item added, removed or changed from the provided 'database.ref'
 * 'sendNotification' is the name of the function, which can be changed according to
 * your requirement
 */

exports.sendNotification = functions.database.ref('/notifications/{user_id}/{notification_id}').onWrite((data, context) => {


  /*
   * You can store values as variables from the 'database.ref'
   * Just like here, I've done for 'user_id' and 'notification'
   */

  const user_id = context.params.user_id;
  const notification_id = context.params.notification_id;

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

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

  const deviceToken = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
  return deviceToken.then(result => {

    const token_id = result.val();


    const payload = {
      notification: {
        title : "friend request",
        body : "you`ve recived a new freind request",
        icon: "default"
      }
    };

    return admin.messaging().sendToDevice(token_id, payload).then(response => {
      return console.log("this was the notification feature");
    });

  });

});

我没有收到任何错误,但使用此

的移动设备上不会显示通知
  

id:NcTLLLKXf5grdkMTxdRzCihgJjE2。

0 个答案:

没有答案