Ios 当我的应用程序未运行并收到推送通知时,我是否可以在应用程序上显示徽章计数

Ios 当我的应用程序未运行并收到推送通知时,我是否可以在应用程序上显示徽章计数,ios,push-notification,Ios,Push Notification,我在我的应用程序中使用推送通知,当用户点击通知并启动应用程序时,我会更新徽章计数,但如果应用程序未运行并连续收到通知,则不会更新计数 有没有办法在后台做呢 iOS是否提供api或通知,我可以像Android一样注册和处理本地徽章通常您会使用以下方法通过推送添加新计数: badge: Int 您将计算此服务器端并将其添加到有效负载中 是到有效负载参数的链接。从服务器端管理徽章计数。为此,后端必须在Push中发送特定的JSON负载 { "aps" : { "alert" :

我在我的应用程序中使用推送通知,当用户点击通知并启动应用程序时,我会更新徽章计数,但如果应用程序未运行并连续收到通知,则不会更新计数

有没有办法在后台做呢


iOS是否提供api或通知,我可以像Android一样注册和处理本地徽章

通常您会使用以下方法通过推送添加新计数:

badge: Int
您将计算此服务器端并将其添加到有效负载中


是到有效负载参数的链接。

从服务器端管理徽章计数。为此,后端必须在Push中发送特定的JSON负载

{
    "aps" : {
        "alert" : {
            "title" : "Game Request",
            "body" : "Bob wants to play poker",
            "action-loc-key" : "PLAY"
        },
        "badge" : 5
    },
    "acme1" : "bar",
    "acme2" : [ "bang",  "whiz" ]
}
类似上面的内容,其中徽章值为5。 当此推送在iOS上时,它将自动在应用程序的徽章上显示此计数

接下来的问题可能是,如何更新徽章。 在应用程序启动时,只需使用

[[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];

同时,也调用一个新的Web服务来更新服务器端的徽章计数
0
,以便在下一次推送时,Web服务可以发送
1
。也请您的backedn人员在每次推送时增加此计数。不过,这取决于您的应用程序案例。我刚才解释的一点是,在应用程序启动时,所有通知都必须被视为已读。

是的,除此之外还有其他方法吗?添加代码,我们将看到您在那里做错了什么。DidReceiveMemotentification在更新时也运行良好,但是,如果我的应用程序没有运行,那么在我打开应用程序之前,徽章不会更新可能重复的
didReceiveMemotentification
是正确的方法。每当你收到推送,它就会被呼叫。你必须在有效载荷中发送徽章。