你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS點擊推送消息跳到應用指定頁面方法

iOS點擊推送消息跳到應用指定頁面方法

編輯:IOS開發綜合

現在的推送用的越來越頻繁,幾乎每個應用都開始用到了。其實又有幾個用戶會去看推送消息呢?沒辦法,產品經理最大啊,只是苦了我們這一幫程序員啊!閒話少說,進入正題。兄弟我用的是極光推送,自然是以極光推送為例了。

現在點擊推送消息,有兩種跳轉方式:1.打開應用,跳轉到應用首頁;2.打開應用,跳轉到指定頁面。

​第一種,你什麼都不用設置,只要注冊極光應用就可以。這裡就不寫怎麼注冊極光應用了,可以參考官方文檔,寫的很詳細。

第二種,重頭戲來了。

// APP未運行時獲取通知的內容 remoteNotification就是你們服務器發送的推送的內容
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{​

NSDictionary *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];​

// 如果​remoteNotification不為空,代表有推送發過來,以下類似

if (remoteNotification) {

// 把應用右上角的圖標​去掉 這個最好寫上,要不然強迫症會瘋的

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

​       //​ 發通知

​       [self performSelector:@selector(發送通知的方法,以下相同)withObject:remoteNotification afterDelay:1];

}

}​
// 程序運行時接收推送 userInfo就是你們服務器發送的推送的內容

- (void)application:(UIApplication *)application

didReceiveRemoteNotification:(NSDictionary *)userInfo {

// Required

[APService handleRemoteNotification:userInfo];

if (userInfo) {

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

// 發通知, 通知內容就是userInfo 你可以打印一下

}

}

- (void)application:(UIApplication *)application

didReceiveRemoteNotification:(NSDictionary *)userInfo

fetchCompletionHandler:(void

(^)(UIBackgroundFetchResult))completionHandler {

// IOS 7 Support Required

[APService handleRemoteNotification:userInfo];

completionHandler(UIBackgroundFetchResultNewData);

if (userInfo){

//​ 發通知

}

}

以上的三個方法,可以讓你接收到服務器發過來的推送內容,在主線程中發通知,否則接收不到。如果你想讓應用跳轉到首頁的詳情頁

- (void)viewDidLoad​{

// 添加觀察者​ 讓程序執行跳轉到詳情頁的方法

}​

如果你想讓應用跳轉到第三頁的詳情頁 在發送通知的方法中加上:

_tabBarViewController.selectedIndex = 2;​

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved