badge should be set before opening the app in IOS

Viewed 389

When notification received on IOS device at that time the badge should be changed and Badge should be set before opening the app.

I check this onNotificationOpen() method. But when I tap on notification then it calls.

I use cordova-plugin-firebase. Here is the link https://github.com/arnesson/cordova-plugin-firebase

But is there a method that calls when the notification received on IOS device?

  $ionicPlatform.ready(function() {
    if (typeof FirebasePlugin != 'undefined') {
      window.FirebasePlugin.subscribe("notficationsubscribe");

      // Below method calls when i tap on notifcation and sets the badge number             
      window.FirebasePlugin.onNotificationOpen(function(data) {
          window.FirebasePlugin.setBadgeNumber(4);
      }
    }
  }

Above FirebasePlugin.onNotificationOpen() method calls when I tap on notification and sets the badge number, but I want to set the badge when notification received.

Anyone have ideas? How can I achieve it?

2 Answers

Actually i set a logic for it.

1) I stored a badgeCounter value to database.

2) when i wants to send the notification at that time i retrieve it from database

 var badge = badgeCounter // it is an integer value

 var notification = {
    'title': 'Stock available',
    'body': 'Click here to more details...',
    'sound': 'default',
    'badge': badge 
 };

3) After tap or click on notification, i cleared the badge using below. window.FirebasePlugin.setBadgeNumber(0);

4) And also in database i update the value to '0' (zero).

Thus, i solve it and it perfectly works for me.

You don't set this with code, it will set itself based on what your notification contains. You'll have to include "badge":1 (or whatever number) in the notification payload when you send it from your server (Firebase). I'm not sure how it works with firebase, but take a look at the documentation for remote notifications. Notice the "Badge"-key.

Related