如何增加推送通知徽章 iPhone
How to Increment the Push notification Badge iPhone
是否可以在收到通知时增加徽章值。或者我应该将计数发送为 payload?
如果我每次都将徽章值发送为“1”,如果应用程序未打开,我如何增加应用程序图标中的 徽章值。
我使用了这段代码,但没有用。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
[UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1;
}
由于推送通知是由 iOS 而不是您的应用程序处理的,因此您无法在收到推送通知时更改应用程序徽章。
但是您可以在推送通知的负载中发送徽章编号,但是您必须在服务器端进行计算。
您应该阅读:本地和推送通知编程指南,特别是通知负载。
有效负载可能如下所示:
{
"aps":{
"alert" : "You got your emails.",
"badge":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
);
是否可以在收到通知时增加徽章值。或者我应该将计数发送为 payload?
如果我每次都将徽章值发送为“1”,如果应用程序未打开,我如何增加应用程序图标中的 徽章值。
我使用了这段代码,但没有用。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
[UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1;
}
由于推送通知是由 iOS 而不是您的应用程序处理的,因此您无法在收到推送通知时更改应用程序徽章。
但是您可以在推送通知的负载中发送徽章编号,但是您必须在服务器端进行计算。
您应该阅读:本地和推送通知编程指南,特别是通知负载。
有效负载可能如下所示:
{ "aps":{ "alert" : "You got your emails.", "badge":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
);