2014-12-08 3 views
-1

Мы работаем над iPhone-приложением, и мы внедрили функцию push-уведомления. Когда приложение неактивно, любое полученное уведомление показывает предупреждение, а счетчик значков значков увеличивается. Когда пользователь нажимает либо на значок приложения, либо на оповещение, приложение становится активным, и все работает нормально.Как перенаправить на определенную страницу при щелчке значка приложения?

Что мы хотим, так это: при новом уведомлении каждый раз, когда пользователь нажимает на значок приложения, он должен открыть определенную страницу (например, Уведомления страница). В настоящее время, когда приложение становится активным, оно показывает последнюю ранее открытую страницу.

Как перенаправить приложение (на передний план) на определенную страницу?

ответ

1

предположить, что это ваш PayLoad

{"aps":{"alert":"Hai User","type":"center","badge":1,"sound":"default"}} 

didReceiveRemoteNotification метод обработки полезной нагрузки

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    // this is used for clear the count when user press the notification. 

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 


    //When notification is pressed on background it comes here 

    //Get strings based on information on your json payload for example 

    NSMutableString *notificationType =[[userInfo objectForKey:@"aps"]objectForKey:@"type"]; 

    if([notificationType isEqualToString:@"center"]){ 
     //redirect/push a viewcontroler here , it automatically navigate to your VC. 

     profileViewController *profile = [[profileViewController alloc] initWithNibName:@"profile ViewController" bundle:nil]; 

    [self.window.rootViewController presentViewController: profile animated:YES completion:NULL]; 
    } 
} 

типов уведомлений от компании Apple является here

+0

нужно больше опорного перенаправлять конкретное использование страницы это [ссылка] (http://stackoverflow.com/questions/22807503/open-view- контроллер-когда-apns-is-received-in-ios) –

+0

Фактически мой ответ связан с тем, когда пользователь нажал на уведомление, которое перенаправляет/открывает конкретную страницу. –

+0

Можете ли вы объяснить нам последние 2 строки кода. Мы новичок в этой цели c, а в нашем уведомлении о приложении есть html-страница. – user2240189

0

Внутри ваш

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [self openNewViewController]; // read the userInfo from the payload and based on that open new controller }

метод вы можете непосредственно нажать/модальный/addsubview нужную страницу.

И внутри «didFinishLaunchingWithOptions:» проверка для удаленной полезной нагрузки уведомления

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
if (launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]) { 
     NSDictionary *dict = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]; 
     //Call your page here 
    } 
} 
+0

, когда ваше приложение будет в фоновом режиме, я думаю, вам нужно нажать «Уведомление», чтобы отразить в соответствии с полезной нагрузкой уведомления. Не так уверен. – Deepak

Смежные вопросы