当我点击通知时,我想导航特定的屏幕,我试图这样做,但无法决定方法。所以任何人都可以指导我如何做到这一点。
我尝试将json字符串设置为“alert”键,但当应用程序关闭时,json显示为原样。
取决于通知中的文字,我必须决定需要显示哪个屏幕。也读了一些私人id。不应在通知中显示。
答案 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
}