【问题标题】:iOS: when tap on one push notification, others push notification for the same app is disappearingiOS:当点击一个推送通知时,同一应用程序的其他推送通知正在消失
【发布时间】:2016-09-08 07:46:45
【问题描述】:

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

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

    Objective C中,上述代码行如下:

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

    【讨论】:

      【解决方案2】:

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

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

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

      查看其他主题:https://forums.developer.apple.com/thread/62137

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-16
          • 1970-01-01
          • 2012-10-24
          相关资源
          最近更新 更多