我开发了服务器端应用程序,以便在收到新通知后将徽章号码保持为递增或递减,并在看到通知正常工作后删除。Apple推送通知徽章号码
但是在显示徽章时存在一些问题,实际情况是 - 在设备上获得新通知后,我点击取消按钮,然后徽章号码显示正确,但此后我将打开应用程序并关闭应用程序徽章将被删除。这意味着我不会向服务器发送通知被我看到的请求,现在您可以将徽章减1。然后还从应用图标中移除徽章。
我的问题是,当我们打开应用程序,然后徽章号码自动从(应用程序)设备中删除?或者它会显示,直到我们设置为零?
我开发了服务器端应用程序,以便在收到新通知后将徽章号码保持为递增或递减,并在看到通知正常工作后删除。Apple推送通知徽章号码
但是在显示徽章时存在一些问题,实际情况是 - 在设备上获得新通知后,我点击取消按钮,然后徽章号码显示正确,但此后我将打开应用程序并关闭应用程序徽章将被删除。这意味着我不会向服务器发送通知被我看到的请求,现在您可以将徽章减1。然后还从应用图标中移除徽章。
我的问题是,当我们打开应用程序,然后徽章号码自动从(应用程序)设备中删除?或者它会显示,直到我们设置为零?
它会显示,直到你把它设置成零,你可以用下面的代码做到这一点:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]
编辑:
这是比较常见的,你收到通知设置的徽章数量,application:didReceiveRemoteNotification:
或application:didFinishLaunchingWithOptions:
您的UIApplicationDelegate
类的方法。
如果要更改图标徽章自动使用下面的代码,你可以阅读在Local and Push Notification Programming Guide
更多地了解它。
- (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
);