Я сейчас настраиваю FCM, используя node.js.
Если сообщение является изображением, оно имеет свойство imageUrl.Я хочу проверить, имеет ли message.imageUrl значение nil, и если это так, это означает, что сообщение является текстом;если message.imageUrl существует, то сообщение является изображением, и я соответствующим образом настраиваю тело уведомления.
Мой вопрос заключается в том, как я могу проверить, если message.imageUrl = nil, чтобы я мог установить в теле уведомления либо текст сообщения (если message.imageUrl равен nil), либо 'image' (если сообщение.imageUrl! = ноль).Я включил всю функцию внизу, но часть, которая меня особенно интересует, это свойство уведомлений переменной уведомлений, которые я заключил в звездочки.
Я довольно новичок в FCM (а также в кодировании), поэтому я не слишком знаком с этим форматом кода.Любая помощь будет принята с благодарностью, спасибо!
exports.observeMessages = functions.database.ref('/conversation_messages/{topicId}/{messageId}')
.onCreate((snapshot, context) => {
var topic = context.params.topicId;
var messageId = context.params.messageId;
var message = snapshot.val();
return admin.database().ref('/conversations/' + topic).once('value', snapshot => {
var conversation = snapshot.val(); // This gives us the conversation name
return admin.database().ref('/users/' + message.senderId).once('value', snapshot => {
var user = snapshot.val();
var notification = {
**notification: {
title: conversation.conversationName,
if (message.imageUrl == nil) {
body: user.username + ': ' + message.text
} else {
body: user.username + ': image'
}
},**
apns: {
payload: {
aps: {
sound: 'default'
}
}
},
data: {
conversationId: topic
},
topic: topic
};
admin.messaging().send(notification)
.then((response) => {
// Response is a message ID string.
console.log('Successfully sent message:' + notification + 'to topic: ' + topic, response);
return response
})
.catch((error) => {
console.log('Error sending message:', error);
throw new Error("Error sending message");
});
})
})
})