【问题标题】:badge should be set before opening the app in IOS在IOS中打开应用程序之前应该设置徽章
【发布时间】:2017-10-04 17:50:03
【问题描述】:

当时在 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() 方法,但我想在收到通知时设置徽章。

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

【问题讨论】:

    标签: ios firebase cordova-plugins


    【解决方案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”(零)。

    因此,我解决了它,它非常适合我。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-21
        • 2016-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 2016-01-09
        相关资源
        最近更新 更多