重置urbanairship徽章计数

时间:2013-11-19 13:45:23

标签: push-notification apple-push-notifications urbanairship.com

问题:

  • 我要说3收到通知。
  • 它在我的应用图标上显示徽章计数3。
  • 我打开应用程序或点击通知,然后清除徽章 (到目前为止一切都好)
  • 现在,当我收到新通知时,我的应用上会显示徽章计数 icon是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
}

我从以下三个地方调用此方法:

didFinishLaunchingWithOptions

didRegisterForRemoteNotificationsWithDeviceToken

applicationDidBecomeActive

在我的功能的最后一行,我显然正在重置UrbanAirship上的徽章。但似乎没有用。如果我遗失了什么,有人可以纠正我吗?

1 个答案:

答案 0 :(得分:1)

我原来的回答是针对APNS提供的基本推送通知。 我不知道UrbanAirship有一种机制来跟踪每个令牌的徽章编号。 阅读他们的文档,你可能忘了打电话:

[[UAPush shared] setAutobadgeEnabled:YES]

  

如果您的应用程序使用Urban Airship的autobadge功能,请启用   客户端autobadge跟踪   application:didFinishLaunchingWithOptions:在更改徽章之前   值:

     

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

相关问题