当前位置: 首页 > 面试题库 >

在Swift中更新徽章计数器

丌官霖
2023-03-14
问题内容

使用以下代码,应用程序编译后,我立即在徽章图标中得到(2):

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
    let installation = PFInstallation.currentInstallation()
    installation.setDeviceTokenFromData(deviceToken)
    installation.badge = 2
    installation.saveInBackground()
}

我确实尝试了下一个变体:初始化一个新的版本,var badgeCount = 0然后再更新:

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
    badgeCount++
    let installation = PFInstallation.currentInstallation()
    installation.setDeviceTokenFromData(deviceToken)
    installation.badge = badgeCount
    installation.saveInBackground()
}

但是,当我收到新通知时,它不会更新为+1。有谁知道如何解决?


问题答案:

除非实际打开应用程序,否则不会使用此方法更新徽章编号。如果要在收到通知时更新徽章编号,则需要将json推送通知的Badge属性设置为所需编号。

如果您发送的是普通消息(不使用json),则可以通过切换来增加徽章编号,只需勾选该编号即可。如果您使用的是Json,请使用以下命令:

{
    "aps": {
        "alert": "Test Push Notification",
        "sound": "yourSound.aiff",
        "Badge": "desiredNumber"
    }
}

请注意,如果您不希望从服务器发送此消息,也可以使用Parse的客户端请求将其从一台设备发送到另一台设备,进入Parse.com上的应用程序中的设置并启用“客户端请求”,然后将上述Json发送到另一个用户的设备。



 类似资料:
  • 我想在没有推送通知的情况下更新应用程序图标徽章计数(例如静默推送)。我只是想在阅读应用程序内的任何通知后更新应用程序徽章计数,类似于linkedIn,在linkedIn中,当我阅读任何通知时,它会更新应用程序徽章上的计数。目前,我已经实现了一个解决方案,其中我使用带有徽章计数的FCM获得有效负载,并使用配置了静默推送通知通道的android notification builder对其进行更新。

  • 徽章 可以通知你有新的或未读邮件或通知。 添加 新 的类来改变徽章的背景颜色。 集合 <div class="collection"> <a href="#!" class="collection-item"><span class="badge">1</span>阿兰</a> <a href="#!" class="collection-item"><span class="

  • 主要内容:实例,实例,激活导航状态,实例本章将讲解 Bootstrap 徽章(Badges)。徽章与标签相似,主要的区别在于徽章的边角更加圆滑。 徽章(Badges)主要用于突出显示新的或未读的项。如需使用徽章,只需要把 <span class="badge"> 添加到链接、Bootstrap 导航等这些元素上即可。 下面的实例演示了这点: 实例 展示未读邮件: <a href="#">Mailbox <span class="badg

  • 我们支持 badge 徽章,但是目前还没有提供 UI 自动生成 badge url。 这个 badge url 需要自己填写。格式如下: 构建: https://ci.daocloud.io/api/badge/build/用户名/项目名 比如 http://www.wenjiangs.com/wp-content/uploads/2020/docimg21/lamiupwfnmx 。 测试: h

  • import { Badge } from 'feui'; components: { [Badge.name]: Badge } 代码演示 基础用法 <fe-badge text="1"></fe-badge> 与其他组件同用 <fe-group title='表格中使用'> <fe-cell title="个位数" is-link> <div class="b

  • 徽章组件。 Usage 全部引入 import { Badge } from 'beeshell'; 按需引入 import { Badge } from 'beeshell/dist/components/Badge'; Examples Code 详细 Code <Badge label='99+'/> <Badge /> API Props Name Type Required Def