iOS 點擊推送消息跳到應用指定頁面的實例
iOS 點擊推送消息跳到應用指定頁面
現在的推送用的越來越頻繁,幾乎每個應用都開始用到了。其實又有幾個用戶會去看推送消息呢?沒辦法,產品經理最大啊,只是苦了我們這一幫程序員??!閑話少說,進入正題。兄弟我用的是極光推送,自然是以極光推送為例了。
現在點擊推送消息,有兩種跳轉方式:1.打開應用,跳轉到應用首頁;2.打開應用,跳轉到指定頁面。
第一種,你什么都不用設置,只要注冊極光應用就可以。這里就不寫怎么注冊極光應用了,可以參考官方文檔,寫的很詳細。
第二種,重頭戲來了。
// APP未運行時獲取通知的內容 remoteNotification就是你們服務器發(fā)送的推送的內容
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSDictionary *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; // 如果remoteNotification不為空,代表有推送發(fā)過來,以下類似 if (remoteNotification) { // 把應用右上角的圖標去掉 這個最好寫上,要不然強迫癥會瘋的 [UIApplication sharedApplication].applicationIconBadgeNumber = 0; // 發(fā)通知 [self performSelector:@selector(發(fā)送通知的方法,以下相同)withObject:remoteNotification afterDelay:1]; } } // 程序運行時接收推送 userInfo就是你們服務器發(fā)送的推送的內容 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required [APService handleRemoteNotification:userInfo]; if (userInfo) { [UIApplication sharedApplication].applicationIconBadgeNumber = 0; // 發(fā)通知, 通知內容就是userInfo 你可以打印一下 } } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { // IOS 7 Support Required [APService handleRemoteNotification:userInfo]; completionHandler(UIBackgroundFetchResultNewData); if (userInfo){ // 發(fā)通知 } }
以上的三個方法,可以讓你接收到服務器發(fā)過來的推送內容,在主線程中發(fā)通知,否則接收不到。如果你想讓應用跳轉到首頁的詳情頁
- (void)viewDidLoad{ // 添加觀察者 讓程序執(zhí)行跳轉到詳情頁的方法 }
如果你想讓應用跳轉到第三頁的詳情頁 在發(fā)送通知的方法中加上:
_tabBarViewController.selectedIndex = 2;
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
iOS利用NSAttributedString實現圖文混排效果示例
iOS7以后,因為TextKit的強大,可以用NSAttributedString很方便的實現圖文混排(主要是利用了NSTextAttachment),所以下面這篇文章主要給大家介紹了關于iOS利用NSAttributedString實現圖文混排效果的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10iOS Swift利用UICollectionView實現無限輪播功能(原理)詳解
無線輪播圖的實現方式有很多,下面這篇文章主要給大家介紹了關于iOS Swift利用UICollectionView實現無限輪播功能(原理)的相關資料,需要的朋友可以參考下2018-09-09