【发布时间】:2019-08-19 11:32:25
【问题描述】:
我在objective-c中开发了一个iOS聊天应用程序,当用户A向用户B发送消息时,用户B会收到推送通知。当 UserB 收到推送通知时,它会向我的后端调用一个 url,以了解 UserA 您的消息已传递给 UserB(当应用程序未运行或被终止时)。这一切都很好,反之亦然。
但我的问题是,当 UserA 向 UserB 发送超过 5-10 条消息并且 UserB 未连接到 Internet 时(我的后端也在向 UserB 发送成功消息 - 通过 FCM)。当 UserB 连接到 Internet 后,它只会收到最新的通知。
这是因为苹果正在维护 QoS。我读了this 的文章。
所以为了解决这个问题,我尝试在发送通过 fcm 发送推送通知的请求时添加 apns-collapse-id 参数。但这一次只结合最多 4 个通知。此外,这种情况并非一直有效。有时只收到一条消息而不是全部。
简而言之,我想在连接到互联网时显示所有消息通知,就像 Whatsapp 显示所有通知一样。
请指导我现在如何解决此问题。 提前致谢。
【问题讨论】:
-
使用
getPendingNotificationRequestsUNUserNotificationCenter的概念 -
@Anbu.karthik 但是这段代码的问题是我只能获得离线创建的通知,而不是来自 Apple Push Notification Server (APNS) 的通知
标签: ios objective-c iphone apple-push-notifications