推送通知徽章没有出现?

Posted

技术标签:

【中文标题】推送通知徽章没有出现?【英文标题】:Push notification badges not appearing? 【发布时间】:2011-10-24 22:01:00 【问题描述】:

我正在使用 Urban Airship 向我的应用发送推送通知

例如:

"aps": "badge": 2, "alert": "Part 2 of the August Issue is ready to download!", "sound": "default", "device_tokens": ["X"]

警报将完美显示,但无论我将“徽章”设置为什么:# 都不会标记应用程序图标...

我的有效负载是否不正确,或者我应该向我的应用程序添加额外的代码来处理徽章和警报?谢谢!

编辑: 我正在注册这样的推送通知:

// Register for notifications
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeNewsstandContentAvailability | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)];

【问题讨论】:

【参考方案1】:

我遇到了类似的问题。经过几分钟的检查。我注意到我的服务器端代码有问题。我发现徽章值必须隐式设置为整数才能获得所需的结果。希望对阅读本文的人有所帮助。

【讨论】:

我猜这意味着它应该作为 4 而不是 "4" 传递。 很棒的发现!谢谢。 @Joqn 是的,没错。它应该作为 4 而不是“4”传递。【参考方案2】:

在 appdelegate .m 文件中设置以下代码..

-(void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo



    NSLog(@"Received notification: %@", userInfo);
    //[self addMessageFromRemoteNotification:userInfo];

    NSString* alertValue = [[userInfo valueForKey:@"aps"] valueForKey:@"badge"];
    NSLog(@"my message-- %@",alertValue);
    int badgeValue= [alertValue intValue];

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeValue];


【讨论】:

【参考方案3】:

ios 5 中有一个设置 -> 通知。仔细检查徽章应用图标是否已打开。

我假设您在测试时应用程序不在前台?如果它在前台,那么您必须手动处理标记。

【讨论】:

在我的应用程序的设置中启用了徽章,无论前景、背景或新启动如何,徽章都不会出现...

以上是关于推送通知徽章没有出现?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有徽章编号的情况下推送通知?

推送通知徽章清除警报

在 ios 8 推送通知中没有显示当前应用程序的徽章

iOS 推送通知 - 如何在没有声音的情况下指定警报和徽章?

Firebase 推送通知徽章计数是不是在 iOS 中自动增加?

在 ios7 中更新推送通知的徽章计数