作者chengreg (想重回校園的工程師)
看板MacDev
標題[問題] ios5 push notification center一問
時間Thu Apr 12 14:38:51 2012
各位前輩好:
小弟最近初嚐 ios 的 push notification 設計
以目前而言,不僅 Server 端,與 iphone/ipad端的溝通
都很正常,也可以正確收到推播通知的訊息
但是在進一步測試發現了一個"現象" ios5 的 Notification Center
不知是否小弟觀念有錯,所以特地上來請教各大前輩, 謝謝
以下狀況:
當App開啓時收到Notification時,會觸發
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
所以當然可以正常動作接收的程序
而App沒有開啓時,收到訊息
狀況一:
Notification是以 Alert的方式出現,有Close 與 View兩按鈕可以點擊
而點擊View,則會啓動App並且在didFinishLaunchingWithOptions內
以以下的方式接收
UILocalNotification *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotification) {
NSDictionary *userInfo = [launchOptions valueForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
.......
}
狀況二:
Notification是以"橫幅"的方式出現,但是使用者並沒有拉下Notification Center
去點擊通知的訊息,而是直接去開啓程式APP
若是第二種狀況的話,則無論是 UIApplicationLaunchOptionsRemoteNotificationKey
或者 didReceiveRemoteNotification 都不會被觸發...?
請問各位前輩,如何製作才能在"尚未點擊"NotificationCenter內的通知前,
開啟程式APP時,可以直接將這些通知讀入,並且讓這些訊息狀況為已讀?
請各位齊備不吝惜指導...謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.160.157
1F:推 wasihero:你的APP應該自己連回去你的SERVER取得真正訊息 04/12 16:23
2F:→ wasihero:因為push notif..不保證一定會收到..只是"參考"用 04/12 16:24
3F:→ wasihero:你應該單純當成"通知"有事件..但內容應連回自己server讀 04/12 16:25
4F:→ wasihero:這樣一來也不怕使用者關閉通知中心 04/12 16:27
5F:→ chengreg:謝謝大大,但我真正的問題是"訊息清單上"有已接收未讀訊息 04/12 17:24
6F:→ chengreg:而我的用意只是希望若不是由"訊息處"點擊觸發而啟動此APP 04/12 17:25
7F:→ chengreg:而是,自行開啓APP這樣要如何取得訊息資訊?(被通知狀態下) 04/12 17:26
8F:推 wasihero:你還是沒聽懂我意思.訊息是給人看.不是給APP看.. 04/13 00:19
9F:→ wasihero:app執行時連回server取得訊息..同時清除已接收的通知 04/13 00:20
10F:→ wasihero:不論通知是否已閱讀 04/13 00:23
11F:→ chengreg:謝謝大大...其實我是想用訊息來觸發事件,讓程式執行一些 04/13 10:02
12F:→ chengreg:事情...呵呵....這觀念果然不對.... 04/13 10:02