【问题标题】:Firebase Push Notification Increase Badge Count When Receive NotificationFirebase 推送通知在收到通知时增加徽章计数
【发布时间】:2017-01-09 09:54:39
【问题描述】:

我正在使用带有 swift 2.3 的 iOS 10,当收到来自 firebase 的新通知时,我需要增加徽章计数。我有增加徽章数量的代码

let badgeCount: Int = BadgeCount + 1
UIApplication.sharedApplication().applicationIconBadgeNumber = badgeCount

但我不知道在哪里使用它才能使其正常工作。

【问题讨论】:

  • 徽章计数通常由后端服务维护

标签: ios swift push-notification firebase-notifications


【解决方案1】:

如果您使用 Firebase 推送通知,我们只需要在发送前启用 iOS 徽章并包含徽章计数即可。在AppDelegate.Swift,在applicationDidBecomeActive函数中我们需要添加

UIApplication.sharedApplication().applicationIconBadgeNumber = 0 

【讨论】:

  • 如果您在应用启动时设置徽章计数 = 0,则所有通知都将被清除。用户可能没有阅读这些通知,或者他点击了一个通知,然后剩余的通知也会从通知托盘中清除。我建议不要在应用启动时将徽章计数为零。
  • 如何在不从通知托盘@Coder移除通知的情况下将通知徽章设为0
  • 是否必须显示徽章编号?我建议不要显示徽章编号。您可以使用推送/静默通知重置徽章。在有效载荷中为徽章参数设置 0。
【解决方案2】:

SWIFT 4 (AppDelegate)

func applicationDidBecomeActive(_ application: UIApplication) {
        UIApplication.shared.applicationIconBadgeNumber = 0
}

【讨论】:

    【解决方案3】:

    如果您使用推送通知,则您无法维护应用程序的计数。您需要编写此逻辑服务器端,因为除非用户点击它,否则您的应用程序不会知道推送。 第二种选择是使用静默通知。静默通知会发送到您的应用程序,然后您需要触发本地推送并维护徽章计数。 静默通知的缺点是,如果用户杀死您的应用,您将不会收到静默通知。

    【讨论】:

      【解决方案4】:

      如果你想清除徽章计数而不是删除通知,那么你可以使用

      UIApplication.shared.applicationIconBadgeNumber = -1
      

      【讨论】:

        猜你喜欢
        • 2021-03-01
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-02
        • 2021-02-15
        相关资源
        最近更新 更多