iOS:点击一次推送通知时,其他推送同一应用的通知正在消失

时间:2016-09-08 07:46:45

标签: ios push-notification badge localnotification remote-notifications

让我的应用程序收到5个远程通知。当我点击单个通知时,所有5个通知也都是令人失望的,我们需要显示其他4个通知,直到他们点击。但主要问题是所有其他通知都是出于其他目的而不是出于同一目的。因此,我们需要显示所有通知,直到从通知托盘中单击它们。

此外,我们还需要根据此更新徽章计数。 当app没有运行(被杀)时,有没有办法处理远程推送通知? 您能否建议使用目标c更好地处理远程推送通知?

由于

3 个答案:

答案 0 :(得分:0)

您必须删除所有通知或将徽章计数分配为零或两者,在您的应用推送通知中收到通知后,接收委托方法:

UIApplication.sharedApplication().applicationIconBadgeNumber = 0
UIApplication.sharedApplication().cancelAllLocalNotifications() 

如果您的单推通知接收处理具有上述代码行,那么它将从iOS的通知托盘中删除该应用程序的其他通知。

目标C 中,上述代码行如下:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];

答案 1 :(得分:0)

听起来您可能将applicationIconBadgeNumber设置为0,这将清除所有其他通知。 [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

有关申请号的更多详细信息,请参阅以下帖子 All notifications disappearing after opening one of them

要设置正确的徽章编号,您可以检测到已点击通知,相应地更新徽章计数。或者您甚至可以将徽章编号传递给apns有效负载中的应用程序。

参见其他主题:https://forums.developer.apple.com/thread/62137

答案 2 :(得分:-1)

要显示徽章计数,请确保在从服务器发送通知时发布徽章计数: -

            $body = array('aps' => array('alert' => $message,'badge' =>'$badgecount', "sound"=> "Default"));