Я попытался отправить определенное сообщение на клиентское устройство, используя функции узла js и firebase. Но когда я попытался выполнить функцию, она вернулась с ошибкой:
Error. Регистрационные токены, предоставляемые sendToDevice (), должны быть непустой строкой или непустым массивом.
Изображение показано ниже.

Я догадывался, что это из моего кода JS. Так что я тоже публикую это. Что я на самом деле делаю, так это извлекаю данные из определенного узла, который будет использоваться при записи совершенно другого узла. Так что я собираюсь опубликовать код JS перед скриншотами базы данных.
exports.sendNotification8 = functions.database.ref('/Users/{user_id}/Notifications/')
.onWrite(( change,context) =>{
var user_id = context.params.user_id;
// Grab the current value of what was written to the Realtime Database.
var eventSnapshot = change.after.val();
var device_token = admin.database().ref('/Users/{user_id}/device_token').once('value');
return device_token.then(result => {
var token_id = result.val();
var str = eventSnapshot.from + " : " + eventSnapshot.message;
console.log(eventSnapshot.from);
var payload = {
data: {
name: str,
title: eventSnapshot.from,
click_action: "Chats"
}
};
// Send a message to devices subscribed to the provided topic.
return admin.messaging().sendToDevice(token_id, payload).then(function (response) {
// See the MessagingTopicResponse reference documentation for the
// contents of response.
console.log("Successfully sent message:", response);
return;
})
.catch(function (error) {
console.log("Error sending message:", error);
});
});
});
А ниже скриншоты моей базы данных ...
Так вот, как я получаю device_token узел. От пользователя, который получил самые новые данные, записанные в его / ее узел уведомлений. Пожалуйста помоги. Что я делаю не так?