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

