iOS點(diǎn)擊推送消息跳到應(yīng)用指定頁(yè)面方法
現(xiàn)在的推送用的越來(lái)越頻繁,幾乎每個(gè)應(yīng)用都開(kāi)始用到了。其實(shí)又有幾個(gè)用戶會(huì)去看推送消息呢?沒(méi)辦法,產(chǎn)品經(jīng)理最大啊,只是苦了我們這一幫程序員??!閑話少說(shuō),進(jìn)入正題。兄弟我用的是極光推送,自然是以極光推送為例了。
現(xiàn)在點(diǎn)擊推送消息,有兩種跳轉(zhuǎn)方式:1.打開(kāi)應(yīng)用,跳轉(zhuǎn)到應(yīng)用首頁(yè);2.打開(kāi)應(yīng)用,跳轉(zhuǎn)到指定頁(yè)面。
第一種,你什么都不用設(shè)置,只要注冊(cè)極光應(yīng)用就可以。這里就不寫怎么注冊(cè)極光應(yīng)用了,可以參考官方文檔,寫的很詳細(xì)。
第二種,重頭戲來(lái)了。
// APP未運(yùn)行時(shí)獲取通知的內(nèi)容 remoteNotification就是你們服務(wù)器發(fā)送的推送的內(nèi)容 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSDictionary *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; // 如果remoteNotification不為空,代表有推送發(fā)過(guò)來(lái),以下類似 if (remoteNotification) { // 把應(yīng)用右上角的圖標(biāo)去掉 這個(gè)最好寫上,要不然強(qiáng)迫癥會(huì)瘋的 [UIApplication sharedApplication].applicationIconBadgeNumber = 0; // 發(fā)通知 [self performSelector:@selector(發(fā)送通知的方法,以下相同)withObject:remoteNotification afterDelay:1]; } } // 程序運(yùn)行時(shí)接收推送 userInfo就是你們服務(wù)器發(fā)送的推送的內(nèi)容 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required [APService handleRemoteNotification:userInfo]; if (userInfo) { [UIApplication sharedApplication].applicationIconBadgeNumber = 0; // 發(fā)通知, 通知內(nèi)容就是userInfo 你可以打印一下 } } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { // IOS 7 Support Required [APService handleRemoteNotification:userInfo]; completionHandler(UIBackgroundFetchResultNewData); if (userInfo){ // 發(fā)通知 } }
以上的三個(gè)方法,可以讓你接收到服務(wù)器發(fā)過(guò)來(lái)的推送內(nèi)容,在主線程中發(fā)通知,否則接收不到。如果你想讓應(yīng)用跳轉(zhuǎn)到首頁(yè)的詳情頁(yè)
- (void)viewDidLoad{ // 添加觀察者 讓程序執(zhí)行跳轉(zhuǎn)到詳情頁(yè)的方法 }
如果你想讓應(yīng)用跳轉(zhuǎn)到第三頁(yè)的詳情頁(yè) 在發(fā)送通知的方法中加上:
_tabBarViewController.selectedIndex = 2;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS中l(wèi)ebel特殊字符的自動(dòng)換行問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于iOS中l(wèi)ebel特殊字符的實(shí)現(xiàn)不自動(dòng)換行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10iOS 仿微博客戶端紅包加載界面 XLDotLoading效果
這篇文章主要介紹了iOS 仿微博客戶端紅包加載界面 XLDotLoading,需要的朋友可以參考下2017-02-02iOS應(yīng)用設(shè)計(jì)模式開(kāi)發(fā)中職責(zé)鏈(責(zé)任鏈)模式的實(shí)現(xiàn)解析
這篇文章主要介紹了iOS應(yīng)用設(shè)計(jì)模式開(kāi)發(fā)中職責(zé)鏈模式的相關(guān)實(shí)現(xiàn)解析,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03解決Xcode8打包上傳構(gòu)建版本無(wú)效的辦法
這篇文章主要介紹的是自己在打包上傳項(xiàng)目的時(shí)候遇到的一個(gè)問(wèn)題,通過(guò)自己的努力一步步解決了,現(xiàn)將解決方法方法分享給大家,希望給同樣遇到這個(gè)問(wèn)題的朋友們能有所幫助,下面來(lái)一起看看吧。2016-09-09iOS應(yīng)用中發(fā)送HTTP的get請(qǐng)求以及HTTP異步請(qǐng)求的方法
這篇文章主要介紹了iOS應(yīng)用中發(fā)送HTTP的get請(qǐng)求以及HTTP異步請(qǐng)求的方法,代碼為傳統(tǒng)的Objective-C語(yǔ)言,說(shuō)明都簡(jiǎn)單地融入于注釋之中,需要的朋友可以參考下2016-02-02iOS當(dāng)多個(gè)網(wǎng)絡(luò)請(qǐng)求完成后執(zhí)行下一步的方法詳解
在多線程中,有時(shí)候我們會(huì)遇到一個(gè)界面同時(shí)有多個(gè)網(wǎng)絡(luò)請(qǐng)求(比如a,b,c,d四個(gè)網(wǎng)絡(luò)請(qǐng)求),在這四個(gè)個(gè)請(qǐng)求結(jié)束后,在請(qǐng)求到數(shù)據(jù)去做其他操作(UI更新等),下面這篇文章主要給大家介紹了關(guān)于iOS當(dāng)多個(gè)網(wǎng)絡(luò)請(qǐng)求完成后執(zhí)行下一步的相關(guān)資料,需要的朋友可以參考下。2017-12-12詳解iOS開(kāi)發(fā)中UITableview cell 頂部空白的多種設(shè)置方法
這篇文章主要介紹了詳解iOS開(kāi)發(fā)中UITableview cell 頂部空白的多種設(shè)置方法的相關(guān)資料,需要的朋友可以參考下2016-04-04