Kri*_*lim 18 objective-c push-notification badge
我正面临推送通知应用程序徽章编号值更新的问题.
我这样做:
-(void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive) {
// do stuff when app is active
}else{
// do stuff when app is in background
[UIApplication sharedApplication].applicationIconBadgeNumber =
[UIApplication sharedApplication].applicationIconBadgeNumber+1;
/* to increment icon badge number */
}
}
Run Code Online (Sandbox Code Playgroud)
但是,该图标始终将徽章编号显示为"1",并且当有更多通知/一个接一个通知时,它不会递增.
任何建议都值得赞赏......
Dan*_*tín 32
当您收到类似于以下内容的JSON通知有效内容时,操作系统会设置徽章编号:
{
"aps" : {
"alert" : "New notification!",
"badge" : 2
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,服务器负责在badge密钥中设置正确的数字.您的服务器需要跟踪或计算每个用户的待处理通知数,并badge在向Apple发送通知之前生成该号码.
客户的责任是在用户看到通知时清除通知徽章或减少通知徽章.这样做的代码是
application.applicationIconBadgeNumber = application.applicationIconBadgeNumber - 1; // Decrement counter
Run Code Online (Sandbox Code Playgroud)
要么
application.applicationIconBadgeNumber = 0; // Reset counter assuming the user is able to see all notifications at once.
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以改为创建静态变量,并将其分配给applicationIconBadgeNumber:
static int i=1;
[UIApplication sharedApplication].applicationIconBadgeNumber = i++;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27460 次 |
| 最近记录: |