2012-11-28 10 views
7

Tworzę aplikację, w której używam powiadomień push firmy Apple. Gdy moja aplikacja działa w tle, mogę otrzymywać powiadomienia w formie banera, ale gdy moja aplikacja jest w stanie aktywnym, mogę wyświetlić komunikat, że otrzymałeś powiadomienie za pośrednictwem tego kodu: -Jak wyświetlać zdalne powiadomienie push jako styl banera w stanie aktywnym aplikacji?

(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]; 

    } else { 
     //Do stuff that you would do if the application was not active 
    } 
} 

, ale chcę pokazać powiadomienie jako baner. Co mogę dla niego zrobić? Proszę zasugeruj.

Odpowiedz

3

Nie można, jeśli aplikacja jest aktywna (działa na pierwszym planie), powiadomienie push jest wysyłane bezpośrednio do aplikacji. Centrum powiadomień nie będzie obsługiwać powiadomienia.

Będziesz musiał zaimplementować swój własny baner.

+0

Może to pomóc: https://github.com/avielg/AGPushNote –

+0

W systemie iOS 9 aplikacje Poczta i wiadomości wyświetlają standardowy interfejs użytkownika powiadomień dla nowych wiadomości e-mail i wiadomości w niektórych sytuacjach. Czy istnieje nowy API do replikacji tego, czy używają prywatnego API? – Greg

+0

Zgaduję, prywatne API. Ponieważ nie mogę go znaleźć w dokumentacji. Ale możesz sam stworzyć coś bardzo zbliżonego do natywnego. – rckoenes

Powiązane problemy