如何增加iPhone的推送通知标记
是否可以在收到通知时增加徽章值。或者我应该将计数作为有效负载发送吗 如果我每次都以“1”的形式发送徽章值,那么如果应用程序未打开,我如何增加应用程序图标中的徽章值 我使用了这个代码,但不起作用如何增加iPhone的推送通知标记,iphone,ios8,apple-push-notifications,Iphone,Ios8,Apple Push Notifications,是否可以在收到通知时增加徽章值。或者我应该将计数作为有效负载发送吗 如果我每次都以“1”的形式发送徽章值,那么如果应用程序未打开,我如何增加应用程序图标中的徽章值 我使用了这个代码,但不起作用 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [UIApplication sharedApplication].application
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
[UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1;
}
由于推送通知由iOS而非应用程序处理,因此在收到推送通知时,您无法更改应用程序标记 但是您可以在推送通知的有效负载中发送徽章号,但是您必须在服务器端进行计算 您应该阅读:本地和推送通知编程指南,特别是通知负载 有效载荷可能如下所示: { “aps”:{ “提醒”:“你收到电子邮件了。”, “徽章”:9 } }
现在,应用程序徽标图标将显示9。如果要自动更改图标徽标,请使用以下代码
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
application.applicationIconBadgeNumber = 0;
NSLog(@"userInfo %@",userInfo);
for (id key in userInfo) {
NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
}
[application setApplicationIconBadgeNumber:[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]];
NSLog(@"Badge %d",[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]);
}
我们还需要更改php文件。因此,我们可以自动获得图标徽章的更改
// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'id' => '135',
'badge' => 8
);
您是否可以让它自动递增,而不是从通知负载中获取徽章值(如果服务器无法计算未读计数?)