我的系统设计由常规Web服务和包括Mongoose Instant Messaging环境在内的Instant Message环境组成。
基本上,该应用是常规应用,其中包括类似WhatsApp的聊天功能。基本上,系统如下所示;
A面
常规Web服务实例(此环境发送推送 通过Firebase云消息传递通知)
B面
猫鼬即时通讯环境(该环境知道何时向APNS发送推送通知
C边
iOS + Android客户端
A - SDK -> C B - SDK -> C
一方向方C提供SDK,并提供了一种返回特定会话未读消息计数和未读消息计数的方法。同样,当消息已被读取时,C侧将发送已读消息所需的信息以通知A侧。
对于这种环境,我想知道如何计算应用程序图标徽章。我认为中间有一个Web服务可用于服务已读/未读消息计数。如果A侧或B侧要发送通知,则需要询问中间件服务以获取最后的通知徽章计数。相反,如果客户端读取了一堆通知,则需要更新中间件服务。
作为替代
我可以使用服务扩展进行标记,但是在扩展中,无法访问UIApplication实例来获取当前通知计数。因此需要将通知计数存储在UserDefaults中。但是这种方法比较复杂,或者不是通常的方法。
预先感谢