Let's say a user has a messages app on their iPhone and iPad. They get a new message from the server, so a push notification is sent to both their devices. Now the user picks up their iPhone and reads the message waiting in notification center. How do I now remove the message from notification center (and the app badge number) on their iPad, since it's already been read?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
When the user reads the message on the iPhone (presumably after tapping on the notification or the launch icon of the app), you can execute some API call on your server to notify it that the user read the message.
If you maintain in your server for each user a list of device tokens of all the devices belonging to that user, you can send a push notification to all those devices with badge count 0. This will clear the badge number on the iPad (and any other devices belonging to that user). I'm not sure whether it would remove the message from the notification center of the iPad, though.
回答2:
As of iOS7, we do not have any API to control the notification center. So clearing the notification is not possible.