收到推送時程序內(nèi)的處理方案

一、問題描述

在應用中經(jīng)常會添加推送似将,在我們的項目中也用到了推送,推送添加的是友盟的第三方推送方案蚀苛,接入友盟的SDK只要按照步驟在验,接進來也十分簡單,完全可以收到推送數(shù)據(jù)堵未,但問題是在收到推送數(shù)據(jù)時如何去處理收到的信息以及如何跳轉(zhuǎn)相應的界面腋舌?這是我這篇文章主要介紹的。

二渗蟹、解決思路

iOS提供收到推送時的處理方法块饺,但是收到推送應該從幾個方面來考慮這才是關鍵的點,對于一個剛接觸的人來說也是不知所措雌芽,之后再網(wǎng)上查找零零碎碎的找到了一些突破點授艰,才完成了對于收到推送的處理方式,主要從以下兩個方面來考慮世落。

1>當程序沒有死掉即在在前臺或者后臺時

/**
 *  收到推送時會在AppDelegate的didReceiveRemoteNotification中響應事件
 */
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
       // 這里做收到推送時的處理userInfo為收到的數(shù)據(jù)
}
1)程序在運行在前臺即處于UIApplicationStateActive狀態(tài)
處于UIApplicationStateActive狀態(tài)時的處理.jpg

在UIApplicationStateActive時只需要定義一個alertView來處理淮腾,在代理方法里跳轉(zhuǎn)相應的詳情,當然這個跳轉(zhuǎn)必須要有navigationController來跳轉(zhuǎn)并且navigationController要作為一個屬性屉佳。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    // 保存推送數(shù)據(jù)
     self.userInfos = userInfo;
      // 定制自定義的彈框
        if([UIApplication sharedApplication].applicationState == UIApplicationStateActive)
        {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"有新的要聞推薦哦~"
            message:userInfo[@"aps"][@"alert"]
            delegate:self
            cancelButtonTitle:@"取消"
            otherButtonTitles:@"立即前往", nil];
            [alertView show];
        }
}
alerView的代理方法里執(zhí)行跳轉(zhuǎn)詳情
#pragma mark -跳轉(zhuǎn)到推送詳情頁
- (void)notificationDetailVc {
    INHelpProtrolViewController *help = [[INHelpProtrolViewController alloc]init];
    help.urlString = self.userInfos[@"src_link"];
    [self.mainNavigationController pushViewController:help animated:YES];
}
2)程序在運行在后臺但沒死掉即處于UIApplicationStateInactive狀態(tài)時
處于UIApplicationStateInactive狀態(tài)時.jpg
當你點擊通知欄上的通知時程序程序會觸發(fā)didReceiveRemoteNotification方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{

     if ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive){
            // 跳轉(zhuǎn)詳情頁面
                INHelpProtrolViewController *help = [[INHelpProtrolViewController alloc]init];
    help.urlString = self.userInfos[@"src_link"];
    [self.mainNavigationController pushViewController:help animated:YES];
        }
}

2>當程序完全死掉時

當程序完全死掉時.jpg
// 程序啟動時
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/// 上面創(chuàng)建window谷朝,navgationController等操作,創(chuàng)建完成后判斷是否是由推送打開之后跳轉(zhuǎn)
#pragma mark -判斷是否由推送打開
    // 判斷是否是通過推送打開app
    NSDictionary *userInfos = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if (userInfos) {
        // 保存數(shù)據(jù)
        self.userInfos = userInfos;
        // 跳轉(zhuǎn)詳情
           INHelpProtrolViewController *help = [[INHelpProtrolViewController alloc]init];
    help.urlString = self.userInfos[@"src_link"];
    [self.mainNavigationController pushViewController:help animated:YES];
    }
    return YES;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末武花,一起剝皮案震驚了整個濱河市圆凰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌髓堪,老刑警劉巖送朱,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異干旁,居然都是意外死亡驶沼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門争群,熙熙樓的掌柜王于貴愁眉苦臉地迎上來回怜,“玉大人,你說我怎么就攤上這事∮裎恚” “怎么了翔试?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長复旬。 經(jīng)常有香客問我垦缅,道長,這世上最難降的妖魔是什么驹碍? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任壁涎,我火速辦了婚禮,結(jié)果婚禮上志秃,老公的妹妹穿的比我還像新娘怔球。我一直安慰自己,他們只是感情好浮还,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布竟坛。 她就那樣靜靜地躺著,像睡著了一般钧舌。 火紅的嫁衣襯著肌膚如雪担汤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天延刘,我揣著相機與錄音漫试,去河邊找鬼。 笑死碘赖,一個胖子當著我的面吹牛驾荣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播普泡,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼播掷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了撼班?” 一聲冷哼從身側(cè)響起歧匈,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砰嘁,沒想到半個月后件炉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡矮湘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年斟冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缅阳。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡磕蛇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秀撇,我是刑警寧澤超棺,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站呵燕,受9級特大地震影響棠绘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜虏等,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一弄唧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霍衫,春花似錦、人聲如沸侯养。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逛揩。三九已至柠傍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辩稽,已是汗流浹背惧笛。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逞泄,地道東北人患整。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像喷众,于是被迫代替她去往敵國和親各谚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

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

  • 極光推送: 1.JPush當前版本是1.8.2到千,其SDK的開發(fā)除了正常的功能完善和擴展外也緊隨蘋果官方的步伐昌渤,SD...
    Isspace閱讀 6,724評論 10 16
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,328評論 25 707
  • 推送通知 注意:這里說的推送通知跟NSNotification有所區(qū)別 NSNotification是抽象的,不可...
    iOS開發(fā)攻城獅閱讀 4,241評論 1 13
  • http://download.csdn.net/album/detail/3761 軟件工程題目 李明杰淺談逆...
    Flutter求學者閱讀 232評論 0 0
  • 從前我對石頭是沒多大興趣的憔四,因為我們新疆石頭很多膀息,沿天山腳下的河道旁,大塊小塊的石頭擠滿了河岸了赵。 我記得剛...
    美生活閱讀 712評論 0 0