如何跨多个iOS设备同步推送通知?
如何跨多个iOS设备同步推送通知 情况是: 用户在两台设备上安装了一个应用程序。 两个设备都接收远程通知。 用户在一台设备上打开应用程序。 其他设备上的推送通知应消失 这是由许多应用程序完成的,例如Facebook Messenger,但这是如何实现的如何跨多个iOS设备同步推送通知?,ios,push-notification,apple-push-notifications,Ios,Push Notification,Apple Push Notifications,如何跨多个iOS设备同步推送通知 情况是: 用户在两台设备上安装了一个应用程序。 两个设备都接收远程通知。 用户在一台设备上打开应用程序。 其他设备上的推送通知应消失 这是由许多应用程序完成的,例如Facebook Messenger,但这是如何实现的 (Swift)以下是我实施的一种方法: 收到推送通知后(推送通知必须是带有“内容可用”标志的类型,以便将推送通知发送给你的应用程序,即使用户没有点击推送通知),应用程序应向你的服务器发出呼叫,通知服务器收到推送通知。请注意,具有该标志意味着您的
(Swift)以下是我实施的一种方法:
- 收到推送通知后(推送通知必须是带有“内容可用”标志的类型,以便将推送通知发送给你的应用程序,即使用户没有点击推送通知),应用程序应向你的服务器发出呼叫,通知服务器收到推送通知。请注意,具有该标志意味着您的应用程序可能会获得两次PushNotifications:一次是在系统接收到它时,另一次是在用户点击它时。或者它可能根本就不会出现,但这是另一种讨论
- 为了响应此调用,服务器应向为此帐户注册的其他设备发送静默推送通知(可选自定义负载)
- 收到此推送通知后,其他客户端将应用程序标题计数设置为零(这将从通知中心清除推送通知。这没有正式记录,因此它可能会在未来版本的iOS中停止工作)
内容可用
设置,在aps
中没有警报/声音/徽章,但通知的详细信息可在2中使用。)谢谢你的回答Joride,我选择了jcaron的答案,因为它对我来说似乎更清晰,结构也更好,但你的答案也投了赞成票。谢谢你的赞成票。他的回答更简洁。一定要查看我对他的回答的评论。这是一个很好的方式,但有很多原因导致无声推送通知可能不会到达(我知道,我在安装新应用程序时为此工作了半年),最重要的是:1)当用户关闭应用程序的后台获取时(许多“乐于助人”的侄子会为他们的家人这样做)2)当用户通过从应用程序切换程序屏幕向上滑动应用程序来终止应用程序时。更好的方法是发送“常规”推送(在“aps”中带有警报/徽章)以及可用的内容集。这并不是说这可能会导致推动两次。