Push notification 重置城市航空徽章计数

Push notification 重置城市航空徽章计数,push-notification,apple-push-notifications,urbanairship.com,Push Notification,Apple Push Notifications,Urbanairship.com,问题: 假设我收到3个通知 它在我的应用程序图标上显示徽章计数3 我打开应用程序或单击通知,它将清除徽章 (目前一切正常) 现在,当我收到新通知时,我的应用程序上会显示徽章数量 图标是4而不是1 这意味着徽章计数在Urbanairship端没有重置 到目前为止,我的代码是: -(void)resetBadgeNotifications:(UIApplication *)application using:(NSDictionary *)notificationInfo{ if( no

问题:

  • 假设我收到3个通知
  • 它在我的应用程序图标上显示徽章计数3
  • 我打开应用程序或单击通知,它将清除徽章 (目前一切正常)
  • 现在,当我收到新通知时,我的应用程序上会显示徽章数量 图标是4而不是1
  • 这意味着徽章计数在Urbanairship端没有重置
到目前为止,我的代码是:

-(void)resetBadgeNotifications:(UIApplication *)application using:(NSDictionary *)notificationInfo{
    if( notificationInfo != nil ){
        [[NSNotificationCenter defaultCenter] postNotificationName:@"newNotification" object:notificationInfo];
    }
    application.applicationIconBadgeNumber=1;
    application.applicationIconBadgeNumber=0;
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    [application cancelAllLocalNotifications];
    [[UAPush shared] setBadgeNumber:1];//set to 1
    [[UAPush shared] resetBadge];//zero badge
}
我从以下三个地方调用此方法:

didfishlaunchingwithoptions

didRegisterForRemoteNotificationsWithDeviceToken

applicationIDBECOMEACTIVE


在我职能的最后一行,我清楚地重置了UrbanAirship上的徽章。但它似乎不起作用。如果我遗漏了什么,有人能纠正我吗?

我最初的回答是关于APNS提供的基本推送通知。 我不知道UrbanAirship有一个机制来跟踪每个令牌的徽章号。 阅读他们的文档时,您可能忘了打电话:

[[UAPush shared]setAutobadgeEnabled:YES]

如果您的应用程序使用城市飞艇的自动驾驶功能,请启用 中的客户端自动广告跟踪 应用程序:didFinishLaunchingWithOptions:在更改徽章之前 价值:

[[UAPush shared]setAutobadgeEnabled:YES];[[UAPush共享] [徽章]//零徽章


你的意思是我的服务器应该为所有用户保留未读计数,当用户打开点击通知的应用程序时,我应该在我的服务器上重置通知,以便下次它再次从1发送?如果是这样,UA的
resetBadge
方法会做什么?@AdilMalik我的错误。我不知道UA上的自动徽章功能。请参阅我的更新答案。感谢调查。但是我也在做同样的事情,还是不行。我也有同样的问题,你找到解决办法了吗?我的解决办法是通过飞艇推动时,始终将badget设置为1。