2015-11-27 2 views
0

Я хочу перейти к определенному экрану, когда я нажму на уведомление, я попытался сделать это, но не смог решить этот подход. Так что любой один из них поможет мне это сделать.Условная навигация по краю уведомления ios

Я пробовал, решив поставить строку json для «предупреждения», но когда приложение закрыто, что json отображает как есть.

В зависимости от текста в уведомлении я должен решить, какой экран необходимо отобразить. также прочитали некоторые частные идентификаторы. которые не должны отображаться в уведомлении.

ответ

1

Ваш сервер, который отправляет вам push-уведомления, должен содержать какое-то поле в полезной нагрузке, которое вы должны прочитать, когда пользователь открывает приложение и отображает экран на основе значения этого поля.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    //... 
    NSDictionary *pushUserInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    if (pushUserInfo) { 
     [self handlePushNotificationWithUserInfo:pushUserInfo]; 
    } 
} 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    [self handlePushNotificationWithUserInfo:userInfo]; 
} 

- (void)handlePushNotificationWithUserInfo:(NSDictionary *)userInfo 
{ 
    if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive) { 
     return; 
    } 

    id someValue = userInfo[@"someField"]; 
    if (someValue == ...) { 
     //Open screen 
    } else if (someValue == ...) { 
     //Open another screen 
    } // and so on 
} 
+0

будет ли он работать, если приложение закрыто? –

+0

Я не хочу показывать это «someField» в уведомлении, когда приложение закрыто. –

+0

Я создал следующий json {«notificationType»: «General», «notificationTitle»: «Now Available - Push Notifications for Network Analyst (INA) Threshold Alarms ", " notificationMessage ":« Чтобы управлять уведомлениями, войдите в мобильное приложение и выберите настройки ». } эта строка отображается, как есть, если приложение закрыто –

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