推送通知徽章没有出现?
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 推送通知 - 如何在没有声音的情况下指定警报和徽章?