2

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

我们还需要根据此更新徽章计数。当应用程序未运行(被杀死)时,有什么方法可以处理远程推送通知?您能否建议使用 Objective c 处理远程推送通知的更好方法?

谢谢

4

3 回答 3

1

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

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

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

Objective C中,上面的代码行如下:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
于 2016-09-08T08:43:20.853 回答
0

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

有关应用程序编号的更多详细信息,请参阅以下帖子 打开其中一个后所有通知消失

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

查看其他线程:https ://forums.developer.apple.com/thread/62137

于 2016-09-08T18:13:54.870 回答
-1

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

            $body = array('aps' => array('alert' => $message,'badge' =>'$badgecount', "sound"=> "Default"));
于 2016-09-08T10:15:11.253 回答