Parse Push - 徽章管理

Posted

技术标签:

【中文标题】Parse Push - 徽章管理【英文标题】:Parse Push - badge management 【发布时间】:2014-10-14 15:09:52 【问题描述】:

所以我已将 Parse push 集成到我的应用程序中,我需要一种管理徽章的方法。

我需要的流程如下: - 点击区域中的通知 = 打开应用程序并减少徽章值 - 从主屏幕选择应用程序 = 打开应用程序并清除徽章,重置为零。 - 如果收到新通知,则该值应从零增加(如果已重置为零),如果标记未清除但减少,则从自动值增加。

我现在最大的问题是,如果我使用 Parse SDK 清除徽章,那么它也会清除通知区域 - 两者都会。

解决办法是直接调用:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1];

问题在于,这不会改变 Parse API 的标记计数器,只会使其呈上升趋势。

我需要一种方法将 Parse API 徽章设置为零,从应用图标中清除徽章,但在通知区域中保持通知完好无损。

请问可以吗?

应用中推送通知的建议流程是什么?假设许多应用程序都在跟踪发送的通知以及已读取哪些通知以便正确管理徽章编号是否正确?

谢谢。

【问题讨论】:

【参考方案1】:

当然,徽章最终还是需要清零的,好时机就是 通常在您的应用打开时。在 当前安装将更新应用程序图标徽章编号 并确保最新的徽章值将持久保存到服务器 在下次保存时,您需要做的就是:

- (void)applicationDidBecomeActive:(UIApplication *)application 
  PFInstallation *currentInstallation = [PFInstallation currentInstallation];
  if (currentInstallation.badge != 0) 
    currentInstallation.badge = 0;
    [currentInstallation saveEventually];
  
  // ...

在 [PFInstallation currentInstallation] 上设置徽章也会自动设置 applicationIconBadgeNumber。

参考 - http://blog.parse.com/2012/07/18/badge-management-for-ios/

【讨论】:

以上是关于Parse Push - 徽章管理的主要内容,如果未能解决你的问题,请参考以下文章

Meteor raix:push:通知设置中只有“徽章”而不是“徽章、声音、横幅”

当应用程序未在管理博览会的情况下运行时,在通知上设置应用程序图标徽章编号

设置 UITabBarItem 徽章

重置 iOS 应用徽章

为啥标签栏项目的徽章没有改变

删除具有特定类型的通知徽章图标