iOS 點(diǎn)擊推送消息跳到應(yīng)用指定頁(yè)面的實(shí)例
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)用就可以。這里就不寫(xiě)怎么注冊(cè)極光應(yīng)用了,可以參考官方文檔,寫(xiě)的很詳細(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è)最好寫(xiě)上,要不然強(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ā)通知,否則接收不到。如果你想讓?xiě)?yīng)用跳轉(zhuǎn)到首頁(yè)的詳情頁(yè)
- (void)viewDidLoad{ // 添加觀察者 讓程序執(zhí)行跳轉(zhuǎn)到詳情頁(yè)的方法 }
如果你想讓?xiě)?yīng)用跳轉(zhuǎn)到第三頁(yè)的詳情頁(yè) 在發(fā)送通知的方法中加上:
_tabBarViewController.selectedIndex = 2;
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
使用IOS AirPrint實(shí)現(xiàn)打印功能詳解
這篇文章主要介紹了使用IOS AirPrint實(shí)現(xiàn)打印功能詳解,想了解無(wú)線打印的同學(xué),一定要看一下2021-04-04IOS購(gòu)物車界面實(shí)現(xiàn)效果示例
本篇文章主要介紹了IOS購(gòu)物車界面實(shí)現(xiàn)效果示例,有需要了解的朋友可參考。希望此文章對(duì)各位有所幫助。2017-02-02iOS利用NSAttributedString實(shí)現(xiàn)圖文混排效果示例
iOS7以后,因?yàn)門(mén)extKit的強(qiáng)大,可以用NSAttributedString很方便的實(shí)現(xiàn)圖文混排(主要是利用了NSTextAttachment),所以下面這篇文章主要給大家介紹了關(guān)于iOS利用NSAttributedString實(shí)現(xiàn)圖文混排效果的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10iOS13適配三指撤銷和文案限長(zhǎng)實(shí)例詳解
這篇文章主要為大家介紹了iOS13適配三指撤銷和文案限長(zhǎng)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01iOS長(zhǎng)按UIlabel實(shí)現(xiàn)可復(fù)制功能
在我們?nèi)粘5拈_(kāi)發(fā)中經(jīng)常會(huì)遇到一些小需求,比如需要長(zhǎng)按控件來(lái)拷貝控件中得內(nèi)容,所以這篇文章跟大家分享下iOS中長(zhǎng)按UIlabel實(shí)現(xiàn)可復(fù)制功能的方法,有需要的朋友們可以參考借鑒。2016-09-09iOS 原生實(shí)現(xiàn)掃描二維碼和條形碼功能限制掃描區(qū)域
這篇文章主要介紹了iOS 原生實(shí)現(xiàn)掃描二維碼和條形碼功能限制掃描區(qū)域,需要的朋友可以參考下2017-03-03iOS Swift利用UICollectionView實(shí)現(xiàn)無(wú)限輪播功能(原理)詳解
無(wú)線輪播圖的實(shí)現(xiàn)方式有很多,下面這篇文章主要給大家介紹了關(guān)于iOS Swift利用UICollectionView實(shí)現(xiàn)無(wú)限輪播功能(原理)的相關(guān)資料,需要的朋友可以參考下2018-09-09