在IOS中打开应用程序之前应设置徽章

时间:2017-10-04 05:07:37

标签: ios firebase cordova-plugins

当IOS设备收到通知时,应更改徽章并在打开应用程序之前设置徽章。

我在onNotificationOpen()方法中检查了这个。但是当我点击通知然后它会打电话。

我使用cordova-plugin-firebase。 这是链接https://github.com/arnesson/cordova-plugin-firebase

但有没有一种方法可以在IOS设备上收到通知时调用?

  $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);
      }
    }
  }

当我点击通知并设置徽章编号时,FirebasePlugin.onNotificationOpen()方法会调用,但我想在收到通知时设置徽章。

有人有想法吗?我怎样才能实现它?

2 个答案:

答案 0 :(得分:1)

实际上我为它设定了一个逻辑。

1)我将badgeCounter值存储到数据库中。

2)当我想发送通知时,我从数据库中检索它

 var badge = badgeCounter // it is an integer value

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

3)点按或点击通知后,我使用下方清除徽章。    window.FirebasePlugin.setBadgeNumber(0);

4)并且在数据库中我将​​值更新为' 0' (零)。

因此,我解决了它,它对我来说非常有用。

答案 1 :(得分:0)

您不会将此设置为代码,它会根据您的通知包含的内容进行设置。当您从服务器(Firebase)发送通知有效内容时,您必须在通知有效内容中加入"badge":1(或任何数字)。我不确定它如何与firebase一起使用,但请查看documentation以获取远程通知。注意“徽章”-key。