[Ios] Manejando Notificaciones Push cuando la Aplicación se termina


Answers

1) Cuando la aplicación se ejecuta en segundo plano y Cuando la aplicación se ejecuta en la application:didReceiveRemoteNotification: en primer plano application:didReceiveRemoteNotification: método se llamará como se application:didReceiveRemoteNotification: continuación.

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    if (application.applicationState == UIApplicationStateInactive)
    {
        // opened from a push notification when the app was on background
        NSLog(@"userInfo->%@", [userInfo objectForKey:@"aps"]);
    }
    else if(application.applicationState == UIApplicationStateActive)
    {
        // a push notification when the app is running. So that you can display an alert and push in any view
        NSLog(@"userInfo->%@", [userInfo objectForKey:@"aps"]);
    }
}

2) Cuando la aplicación no se inicia (cerrar), se application:didFinishedLaunchingWithOptions .

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (launchOptions != nil)
    {
        // opened from a push notification when the app is closed
        NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if (userInfo != nil)
        {
             NSLog(@"userInfo->%@", [userInfo objectForKey:@"aps"]);
        }
    }
    else
    {
        // opened app without a push notification.
    }
}

3) No hay forma de eliminar una notificación específica a partir de. La forma de eliminar todas las notificaciones de su aplicación para que no se muestren en el Centro de notificaciones cuando el usuario abre la aplicación desde una de ellas, es establecer la insignia de la aplicación en 0.

Question

Cuando mi aplicación no se está ejecutando y recibe una notificación de inserción, si hago clic en esa notificación, se inicia la aplicación, pero luego no se inicia al usuario con Alert-View que configuro, preguntándoles si desean ver el Contenidos de la notificación o no. Simplemente se inicia y se sienta allí.

Las notificaciones push funcionan perfectamente cuando la aplicación se está ejecutando, ya sea como la aplicación activa o mientras está en segundo plano, pero nada funciona correctamente cuando la aplicación no se está ejecutando.

Intenté cerrar la sesión de launchOptions NSDictionary en la aplicación: didFinishLaunchingWithOptions: para ver qué carga está trayendo, pero aparece como "(nulo)". Entonces, básicamente, no contiene nada, lo cual no tiene sentido porque no debería contener la carga de la Notificación.

¿Alguien tiene alguna idea de cómo hacer que las Notificaciones Push funcionen cuando llegan mientras la aplicación NO se estaba ejecutando?

Me refiero a cómo manejar las notificaciones Push cuando la aplicación no está funcionando. ¿Qué sucede si, si recibe muchas notificaciones y no abrió la aplicación, tampoco tocó el panel de notificaciones del sistema? ¿Cómo se preservan esos impulsos para una recuperación posterior?




No hay forma de manejar esto al final de la aplicación. Debería mantener el recuento de distintivos no leídos en el servidor. Cuando se elimina la aplicación, el valor de la insignia se actualiza desde el servidor.

Entonces, cuando abras la aplicación en cualquier momento, necesitarás llamar a un servicio web para obtener las notificaciones requeridas y actualizar las insignias de tabbar (si se usa).