我在objective-c中开发了一个iOS聊天应用程序,其中UserA在此时向UserB发送消息,UserB获得推送通知。当UserB获得推送通知时,它会向我的后端调用一个URL来了解UserA您的消息是否已发送给UserB(当应用程序未运行或被杀死时)。这一切都很好,反之亦然。
但我的问题是,当UserA向UserB发送超过5-10条消息且UserB未连接到互联网时(我的后端也向UserB发送成功消息 - 通过FCM)。当UserB连接到互联网时,它只接收最近的通知。
这是因为苹果正在维持QoS。我读过this文章。
因此,为了解决此问题,我尝试在发送通过fcm发送推送通知的请求时添加 apns-collapse-id 参数。但这只是一次只能组合最多4个通知。此场景也无法一直运行。有时只收到一条消息。
简而言之,我希望显示与连接到互联网时显示所有通知的Whatsapp相同的所有消息通知。
请指导我现在该怎么做才能解决这个问题。 提前谢谢。
答案 0 :(得分:0)
在这种情况下你可以做的是,
从APNS中删除所有待处理的通知。
[[UNUserNotificationCenter currentNotificationCenter] removeAllPendingNotificationRequests];
致电服务并从特定用户的服务器中提取所有通知。