点击通知ios的条件导航

时间:2015-11-27 11:02:13

标签: ios objective-c push-notification

当我点击通知时,我想导航特定的屏幕,我试图这样做,但无法决定方法。所以任何人都可以指导我如何做到这一点。

我尝试将json字符串设置为“alert”键,但当应用程序关闭时,json显示为原样。

取决于通知中的文字,我必须决定需要显示哪个屏幕。也读了一些私人id。不应在通知中显示。

1 个答案:

答案 0 :(得分:1)

向您发送推送通知的服务器必须在有效负载中包含一些字段,当用户打开应用并显示基于该字段值的屏幕时,您必须阅读该字段。

- (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
}