FCM Проверка, если свойство имеет значение nil (node.js) - PullRequest
0 голосов
/ 03 декабря 2018

Я сейчас настраиваю 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");
            });

      })

    })

  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...