php - direct - número de credenciales de auto incremento cuando se reciben notificaciones automáticas de APNS
ios push service (2)
No hay opción en las notificaciones push para auto incrementar el número de insignias. Deberá pasar el número que se mostrará en la insignia.
También la application:didReceiveRemoteNotification:
solo se llamará si la aplicación se ejecuta en primer plano. Aquí podría calcular el nuevo número de placa, pero esto no lo ayudará si su aplicación no está en primer plano.
También necesitará rastrear el lado del servidor del número de placa.
Me gustaría dejar que el número de credencial aumente automáticamente al recibir notificaciones push, por ejemplo: si recibo dos notificaciones, el número se muestra como 2, si recibo más, el número aumenta. Y quiero dejar que el número vuelva a cero cuando abro la aplicación. Entonces, lo que estoy haciendo es lo siguiente: el código en la aplicación terminó de lanzarse
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
de lo contrario, el código en el que recibió la notificación remota es
application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue];
En el servidor, en el archivo php:
$payload = ''{"aps": {"alert":"''.$message.''", "sound":"default","badge":"+1"}}'';
Pero, lamentablemente, el número no aumenta, corrígeme si el código anterior es incorrecto, gracias por avance.
puedes hacer algo como seguir
- (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo {
NSLog(@"userInfo:%@",userInfo);
badge_value+=[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"]intValue];<br>
NSLog(@"Totoal badge Value:%d",badge_value);<br>
for (id key in userInfo) {
NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
}
[UIApplication sharedApplication].applicationIconBadgeNumber = badge_value;}