iOS極光推送跳轉(zhuǎn)到指定頁面(轉(zhuǎn)載)

首先要初始化sdk,官方文檔上有

[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)? categories:nil];

[JPUSHService setupWithOption:launchOptions appKey:@"" channel:@"Publish channel" apsForProduction:NO];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//alias需要看自己的實際情況賦值

[JPUSHService setTags:nil alias:nil fetchCompletionHandle:^(int iResCode, NSSet *iTags, NSString *iAlias) {

}];

});

APPDelegate中加入方法

- (void)application:(UIApplication?*)application

didReceiveRemoteNotification:(NSDictionary?*)userInfo

fetchCompletionHandler:(void?(^)(UIBackgroundFetchResult))completionHandler {

[JPUSHService?handleRemoteNotification:userInfo];

NSLog(@"userInfo%@",userInfo);

completionHandler(UIBackgroundFetchResultNewData);

if?(application.applicationState?==?UIApplicationStateActive) {

//這里寫APP正在運行時,推送過來消息的處理

}?else?if?(application.applicationState?==?UIApplicationStateInactive?) {

//APP在后臺運行,推送過來消息的處理

[self?goToMssageViewControllerWith:userInfo];

}?else?if?(application.applicationState?==?UIApplicationStateBackground) {

//APP沒有運行,推送過來消息的處理

[self?goToMssageViewControllerWith:userInfo];

}

}

//跳轉(zhuǎn)方法

- (void)goToMssageViewControllerWith:(NSDictionary*)msgDic{

//將字段存入本地,在要跳轉(zhuǎn)的頁面用它來判斷

NSUserDefaults*pushJudge = [NSUserDefaults?standardUserDefaults];

[pushJudge?setObject:@"push"forKey:@"push"];

[pushJudge?synchronize];

if?([msgDic[@"type"]isEqualToString:@"Notification_cabinet"]) {

//這里寫要跳轉(zhuǎn)的controller

UserOrderListViewController?* VC = [[UserOrderListViewController?alloc]init];

UINavigationController?* Nav = [[UINavigationController?alloc]initWithRootViewController:VC];

[self.window.rootViewController?presentViewController:Navanimated:YES?completion:nil];

}?else?if?([msgDic[@"type"]isEqualToString:@"Message_notice"]) {

RecommendViewController?*vc = [[RecommendViewController?alloc]?init];

UINavigationController?* Nav = [[UINavigationController?alloc]initWithRootViewController:vc];

[self.window.rootViewControllerpresentViewController:Nav?animated:YES?completion:nil];

}

}

在要跳轉(zhuǎn)的頁面中的ViewDidLoad方法中加入

NSUserDefaults*pushJudge = [NSUserDefaults?standardUserDefaults];

if([[pushJudgeobjectForKey:@"push"]isEqualToString:@"push"]) {

[self.navigationController?setNavigationBarHidden:NOanimated:YES];

self.navigationItem.leftBarButtonItem?= [[UIBarButtonItem?alloc]?initWithImage:[UIImage?imageNamed:@""]style:UIBarButtonItemStylePlain target:selfaction:@selector(rebackToRootViewAction)];

}

具體情況根據(jù)自己的APP需要進(jìn)行修改

轉(zhuǎn)載自? http://www.cnblogs.com/huihuihui/p/5865340.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容