Регистрационные токены, предоставляемые sendToDevice (), должны быть непустой строкой или непустым массивом - PullRequest
0 голосов
/ 09 октября 2018

Я новичок в облачных функциях. Это моя первая функция. Не знаю, как решить эту ошибку. Никто, пожалуйста, не подскажет, какие требуются исправления. Я даже не знаю основ javascript.номер приложения 6282133414

это моя база данных

1

Это моя функция облака

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

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

admin.initializeApp(functions.config().firebase);


exports.sendNotification = functions.database
.ref("/tips/{pushid}")
.onWrite( (change,context) => {

  const mtitle = change.after.val().call;

  const mbody = change.after.val().message;

  const payload = {

    notification: {

      title: mtitle,

      body: mbody

    }

  };

  admin.database().ref('/fcmtoken').once('value').then(alltokens =>{

    if(alltokens.val()){

        console.log(alltokens.val());

        console.log('token available');

        return admin.messaging().sendToDevice(alltokens.val(),payload);

    }

    else{

        console.log('No token available');

    }

});

});

Это ошибка

Registration token(s) provided to sendToDevice() must be a non-empty string or a non-empty array.

at FirebaseMessagingError.Error (native)

at FirebaseMessagingError.FirebaseError [as constructor](/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28)

at FirebaseMessagingError.PrefixedFirebaseError [as constructor](/user_code/node_modules/firebase-admin/lib/utils/error.js:85:28)

at new FirebaseMessagingError(/user_code/node_modules/firebase-admin/lib/utils/error.js:241:16)

at Messaging.validateRegistrationTokensType(/user_code/node_modules/firebase-admin/lib/messaging/messaging.js:872:19)

at Messaging.sendToDevice(/user_code/node_modules/firebase-admin/lib/messaging/messaging.js:493:14)

at admin.database.ref.once.then.alltokens (/user_code/index.js:20:38)

at process._tickDomainCallback (internal/process/next_tick.js:135:7)
...