title: Firebase FCM doesn't send image notification after uploading to Firebase storage
body: <p>I have uploaded an image from the user gallery to Firebase storage and got the following URL - </p>
  
  <p><a href="https://firebasestorage.googleapis.com/v0/b/tnn-1mddev.appspot.com/o/notificationImages?alt=media&amp;token=9a91bfe6-ae7a-4560-9f42-0adbd49de2e9" rel="nofollow noreferrer">https://firebasestorage.googleapis.com/v0/b/tnn-1mddev.appspot.com/o/notificationImages?alt=media&amp;token=9a91bfe6-ae7a-4560-9f42-0adbd49de2e9</a></p>
  
  <p>which when opening at google chrome is a valid image URL. </p>
  
  <p>The thing is that when I am trying to sent it to the Firebase server at the following method is does not work with my URL from firebase - </p>
  
  <pre><code>
  exports.helperPromiseNotify = function (profileId, notificationKey, body, payloadData, image) {
      // admin
      const fcm = admin.messaging();
      const db = admin.database();
  
      // prepare obj
      const notificationDBObj = {
          created_at: internalGetUnixEpoch(),
          is_read: false,
          key: notificationKey,
          body: body,
          data: payloadData,  
      };
  
      console.log("utils.js helperPromiseNotify " + image)
      var payload = {
          notification: {
              body: body,
              image: image
            //this is the place -&gt;  //image: "https://1mdtalent.com/wp-content/uploads/2017/12/cropped-1-2.png" // &lt;- this is the place 
          },
          data: payloadData
      };
  
      // find
      const prFetchDeviceTokens = db.ref(config.ENTITY_NAME_DEVICES).child(profileId).child("tokens")
          .once("value")
          .then(snapshot =&gt; {
              const tokensArr = new Array();
              if (snapshot.exists()) {
                  // extract tokens
                  const obj = snapshot.val();
                  Object.keys(obj).forEach(key =&gt; {
                      tokensArr.push(obj[key]);
                  })
              }
  
              return tokensArr;
          })
      const prSendFCM = tokensArr =&gt; {
          if (tokensArr !== undefined &amp;&amp; tokensArr !== null &amp;&amp; tokensArr.length &gt; 0 &amp;&amp; tokensArr.length &lt;=1000) {
              fcm.sendToDevice(tokensArr, payload)
              .catch((error) =&gt; {
                  console.log(`Failed send notification to device: ${error}`);
              });
          }
      };
  
      // chains
      const prDB = db.ref(config.ENTITY_NAME_NOTIFICATIONS).child(profileId).push(notificationDBObj);
      return prDB
          .then(() =&gt; prFetchDeviceTokens)
          .then(tokensArr =&gt; prSendFCM(tokensArr));
  }
  
  </code></pre>
  
  <p>I have that other image that I have taken from google which has a cleaner URL and an extension to it, so I guess that is the problem. When switching the "image" variable from the one that is currently running to the one in comment it works, meaning it not a logic problem but a URL problem which the Firebase servers can't work with it</p>
  
  <p>I am trying to figure out what is that the firebase API really expects, and what does my URL from Firebase missing and how can I add it to it. </p>