He integrado las notificaciones push en mi aplicación. Los usuarios recibirán notificaciones push para unirse a un grupo. Cuando el usuario hace clic en Unirse, tengo que tocar algo en el código. Y así estoy implementando:

- (void)application:(UIApplication *)application 
        didReceiveRemoteNotification:(NSDictionary *)userInfo

Esto funciona bien cuando la aplicación no se está ejecutando.

Cuando la aplicación se está ejecutando, no veo ninguna UIAlertView. ¿Cómo se puede hacer que mi aplicación se muestran las notificaciones push de alerta para que el usuario puede decidir si unirse o no?

InformationsquelleAutor Satyam | 2011-11-01

7 Comentarios

  1. 70

    He utilizado un código como este en mi aplicación delegado para imitar la alerta de notificación cuando la aplicación se activa. Debe implementar el adecuado UIAlertViewDelegate protocolo de método(s) para controlar lo que sucede cuando el usuario pulsa cualquiera de los botones.

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {    
      UIApplicationState state = [application applicationState];
      if (state == UIApplicationStateActive) {
          NSString *cancelTitle = @"Close";
          NSString *showTitle = @"Show";
          NSString *message = [[userInfo valueForKey:@"aps"] valueForKey:@"alert"];
          UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Some title"
           message:message 
           delegate:self 
           cancelButtonTitle:cancelTitle 
           otherButtonTitles:showTitle, nil];
          [alertView show];
          [alertView release];
      } else {
        //Do stuff that you would do if the application was not active
      }
    }
    • Gracias. Trabajó para mí tan bien. 🙂
    • Genial!!! hay alguna forma de reproducir el sonido de notificación?
    • Lo siento por la respuesta tardía, pero no he investigado que… la Esperanza de encontrar una manera de reproducir un sonido.
  2. 17

    Para cualquiera que pueda estar interesado, me terminó de crear una vista personalizada que se ve como el sistema de inserción de banner en la parte superior, pero añade un botón de cierre (pequeño azul X) y una opción para aprovechar el mensaje para la acción personalizada. También es compatible con el caso de más de una notificación llegaron antes de que el usuario tenía tiempo para leer/desechar los viejos (sin límite en el número de pila…)

    Enlace a GitHub: AGPushNote

    El uso es básicamente en línea:

    [AGPushNoteView showWithNotificationMessage:@"John Doe sent you a message!"];

    Y parece que esta en iOS7 (iOS6 tener un iOS6 verse y sentirse…)

    iOS - notificación de Inserción de alerta no se muestra cuando se ejecuta la aplicación

  3. 1

    sólo de esta función se invoca y usted tiene que muestran de forma explícita en la alerta de que en caso de no notificación aparecerá si la aplicación se está ejecutando en el que se han de implementar la notificación.Poner el punto de quiebre de allí y manejar la llamada de notificación cuando la función es llamada y mostrar su alerta personalizada allí.

  4. 1

    Para mostrar la vista alerta mientras se ejecuta la aplicación tienes que utilizar

    -(void)application:(UIApplication *)application 
           didReceiveRemoteNotification:(NSDictionary *)userInfo {
    }

    y accediendo a la userInfo variable

  5. 0

    La aplicación seguirá recibiendo el -application:didReceiveRemoteNotification mensaje en Delegado de la Aplicación, pero vas a tener que actuar sobre el mensaje mismo (es decir, la alerta no se muestra por defecto).

    La userInfo parámetro contiene un objeto con la tecla notificationType, que usted puede utilizar para identificar el mensaje push.

  6. 0

    Aquí es una versión que soporte UIAlertController

    -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
    UIApplicationState state = [application applicationState];
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
    if (state == UIApplicationStateActive) {
    
        UIAlertController * alert=   [UIAlertController
                                      alertControllerWithTitle:notification.alertTitle
                                      message:notification.alertBody
                                      preferredStyle:UIAlertControllerStyleAlert];
    
        UIAlertAction* ok = [UIAlertAction
                             actionWithTitle:@"OK"
                             style:UIAlertActionStyleDefault
                             handler:^(UIAlertAction * action)
                             {
                                 [alert dismissViewControllerAnimated:YES completion:nil];
    
                             }];
    
        [alert addAction:ok];
    
        [self.navigationController presentViewController:alert animated:YES completion:nil];
    
    }

    }

    ** Por favor nota mi aplicación usa el auto.navigationController en Aplicación Delegado, solo tienes que conectar en cualquier ViewController presentar ( mostrar ) la Alerta **

Dejar respuesta

Please enter your comment!
Please enter your name here