cordova fcm push notifications using firebase functions issue












4














I am using firebase function and sending the notification like below



 let pushPayload = {
notification: {
title: 'Doodles Notification',
body: "push testing",
sound: 'default',
badge: '1'
}
};

//push tokens need to be of customer as well as all the admins in the system. fetch admin push tokens
admin.messaging().sendToDevice(pushToken, pushPayload).then(
(resp) => {
console.log("push notification sent using test method")
return
}
).catch(
(err) => {
console.log("Error sending push notification:" + JSON.stringify(err))
return
}
)


The client side ionic app has method like below:



  this.fcm.onNotification().subscribe(data => {
console.log("push message is:" + JSON.stringify(data))
alert(data.aps.alert.body)
});


on ios this all works great. however on android, the console.log prints



{"wasTapped":false}


I am ok with the above expected property but where is the data? The firebase documentation is confusing around it and I am sort of lost what is the correct payload I need to use that works with both ios and android.










share|improve this question





























    4














    I am using firebase function and sending the notification like below



     let pushPayload = {
    notification: {
    title: 'Doodles Notification',
    body: "push testing",
    sound: 'default',
    badge: '1'
    }
    };

    //push tokens need to be of customer as well as all the admins in the system. fetch admin push tokens
    admin.messaging().sendToDevice(pushToken, pushPayload).then(
    (resp) => {
    console.log("push notification sent using test method")
    return
    }
    ).catch(
    (err) => {
    console.log("Error sending push notification:" + JSON.stringify(err))
    return
    }
    )


    The client side ionic app has method like below:



      this.fcm.onNotification().subscribe(data => {
    console.log("push message is:" + JSON.stringify(data))
    alert(data.aps.alert.body)
    });


    on ios this all works great. however on android, the console.log prints



    {"wasTapped":false}


    I am ok with the above expected property but where is the data? The firebase documentation is confusing around it and I am sort of lost what is the correct payload I need to use that works with both ios and android.










    share|improve this question



























      4












      4








      4







      I am using firebase function and sending the notification like below



       let pushPayload = {
      notification: {
      title: 'Doodles Notification',
      body: "push testing",
      sound: 'default',
      badge: '1'
      }
      };

      //push tokens need to be of customer as well as all the admins in the system. fetch admin push tokens
      admin.messaging().sendToDevice(pushToken, pushPayload).then(
      (resp) => {
      console.log("push notification sent using test method")
      return
      }
      ).catch(
      (err) => {
      console.log("Error sending push notification:" + JSON.stringify(err))
      return
      }
      )


      The client side ionic app has method like below:



        this.fcm.onNotification().subscribe(data => {
      console.log("push message is:" + JSON.stringify(data))
      alert(data.aps.alert.body)
      });


      on ios this all works great. however on android, the console.log prints



      {"wasTapped":false}


      I am ok with the above expected property but where is the data? The firebase documentation is confusing around it and I am sort of lost what is the correct payload I need to use that works with both ios and android.










      share|improve this question















      I am using firebase function and sending the notification like below



       let pushPayload = {
      notification: {
      title: 'Doodles Notification',
      body: "push testing",
      sound: 'default',
      badge: '1'
      }
      };

      //push tokens need to be of customer as well as all the admins in the system. fetch admin push tokens
      admin.messaging().sendToDevice(pushToken, pushPayload).then(
      (resp) => {
      console.log("push notification sent using test method")
      return
      }
      ).catch(
      (err) => {
      console.log("Error sending push notification:" + JSON.stringify(err))
      return
      }
      )


      The client side ionic app has method like below:



        this.fcm.onNotification().subscribe(data => {
      console.log("push message is:" + JSON.stringify(data))
      alert(data.aps.alert.body)
      });


      on ios this all works great. however on android, the console.log prints



      {"wasTapped":false}


      I am ok with the above expected property but where is the data? The firebase documentation is confusing around it and I am sort of lost what is the correct payload I need to use that works with both ios and android.







      android firebase google-cloud-functions cordova-plugin-fcm






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 at 10:36









      KENdi

      5,7092821




      5,7092821










      asked Nov 13 at 7:32









      Vik

      1,928104091




      1,928104091
























          1 Answer
          1






          active

          oldest

          votes


















          0





          +50









          Your pushPayload also needs to have a data array to pass data. I believe you also need speech marks around your keys:



          "notification":{  
          "title":"Doodles Notification",
          "body":"push testing",
          "sound":"default",
          "badge":"1"
          },
          "data":{
          "Key1":"Test",
          "Key2":"More data"
          }


          Documentation






          share|improve this answer





















          • is that an android specific requirement? in ios my code work just fine with required data
            – Vik
            Nov 27 at 0:33










          • I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
            – JakeSteam
            Nov 27 at 8:59










          • i am about to try this
            – Vik
            Nov 28 at 3:29











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275939%2fcordova-fcm-push-notifications-using-firebase-functions-issue%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0





          +50









          Your pushPayload also needs to have a data array to pass data. I believe you also need speech marks around your keys:



          "notification":{  
          "title":"Doodles Notification",
          "body":"push testing",
          "sound":"default",
          "badge":"1"
          },
          "data":{
          "Key1":"Test",
          "Key2":"More data"
          }


          Documentation






          share|improve this answer





















          • is that an android specific requirement? in ios my code work just fine with required data
            – Vik
            Nov 27 at 0:33










          • I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
            – JakeSteam
            Nov 27 at 8:59










          • i am about to try this
            – Vik
            Nov 28 at 3:29
















          0





          +50









          Your pushPayload also needs to have a data array to pass data. I believe you also need speech marks around your keys:



          "notification":{  
          "title":"Doodles Notification",
          "body":"push testing",
          "sound":"default",
          "badge":"1"
          },
          "data":{
          "Key1":"Test",
          "Key2":"More data"
          }


          Documentation






          share|improve this answer





















          • is that an android specific requirement? in ios my code work just fine with required data
            – Vik
            Nov 27 at 0:33










          • I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
            – JakeSteam
            Nov 27 at 8:59










          • i am about to try this
            – Vik
            Nov 28 at 3:29














          0





          +50







          0





          +50



          0




          +50




          Your pushPayload also needs to have a data array to pass data. I believe you also need speech marks around your keys:



          "notification":{  
          "title":"Doodles Notification",
          "body":"push testing",
          "sound":"default",
          "badge":"1"
          },
          "data":{
          "Key1":"Test",
          "Key2":"More data"
          }


          Documentation






          share|improve this answer












          Your pushPayload also needs to have a data array to pass data. I believe you also need speech marks around your keys:



          "notification":{  
          "title":"Doodles Notification",
          "body":"push testing",
          "sound":"default",
          "badge":"1"
          },
          "data":{
          "Key1":"Test",
          "Key2":"More data"
          }


          Documentation







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 26 at 15:11









          JakeSteam

          1,35022033




          1,35022033












          • is that an android specific requirement? in ios my code work just fine with required data
            – Vik
            Nov 27 at 0:33










          • I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
            – JakeSteam
            Nov 27 at 8:59










          • i am about to try this
            – Vik
            Nov 28 at 3:29


















          • is that an android specific requirement? in ios my code work just fine with required data
            – Vik
            Nov 27 at 0:33










          • I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
            – JakeSteam
            Nov 27 at 8:59










          • i am about to try this
            – Vik
            Nov 28 at 3:29
















          is that an android specific requirement? in ios my code work just fine with required data
          – Vik
          Nov 27 at 0:33




          is that an android specific requirement? in ios my code work just fine with required data
          – Vik
          Nov 27 at 0:33












          I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
          – JakeSteam
          Nov 27 at 8:59




          I'm not sure I'm afraid, don't have much iOS experience. Have you tried adding the data array?
          – JakeSteam
          Nov 27 at 8:59












          i am about to try this
          – Vik
          Nov 28 at 3:29




          i am about to try this
          – Vik
          Nov 28 at 3:29


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275939%2fcordova-fcm-push-notifications-using-firebase-functions-issue%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Guess what letter conforming each word

          Port of Spain

          Run scheduled task as local user group (not BUILTIN)