2012-08-02 173 views
3

在我的應用程序中,我有一個推送通知服務器正常工作,我收到預期的通知。通知中心 - 如何知道是否存在「未讀」通知?

如果我在應用程序,我收到通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

被稱爲..

如果我的應用程序之外,我收到通知,並點擊進入吧..

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

被稱爲..

如果我的應用程序之外,收到通知,並通過加載我的應用程序點擊它的跳板上的圖標..

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

叫... ?????

我不明白這是爲什麼,肯定有辦法檢查通知中心並說'嗨!通知中心,我是否有任何未讀的aps有效載荷需要處理?'

+0

以Whatsapp應用程序爲例,它們從服務器檢索用戶數據,並檢查用戶是否有針對服務器**的未處理通知而不是** APN。 – Mazyod 2012-08-02 14:12:15

+0

但這意味着您可以與服務器進行覈對並「收到」通知,但隨後返回通知中心並再次接收。 – Bongeh 2012-08-02 14:14:42

+0

這裏試圖解釋的方法完全獨立於APN服務。最後的通知只是數據,所以只需要從服務器請求數據。這不是一個完美的答案,但它可能有幫助。 – Mazyod 2012-08-02 14:16:49

回答

4

而不是通過所有的意見去的,結論如下:

  1. 設置圖標徽章號
  2. 一旦啓動應用程序,或從後臺返回,檢查應用程序徽章。
  3. 決定是否向服務器請求任何數據。

這是一個解決方案,但我們也有興趣:

可以查詢通知中心呢?

+0

呃我也太需要你想要的東西了。但是,你如何請求來自服務器的任何數據。當你提到服務器時,你是指APN服務器還是你維護的任何個人服務器?請提供一些示例代碼以從服務器請求任何數據。 – pushpa 2012-08-10 06:01:12

+0

我們在這裏討論個人服務器。要請求數據,您需要兩件事:1,下載iOS的NSURLConnection代碼。搜索它,代碼是豐富的。 2-我不熟悉的服務器端邏輯。發佈一個新問題,希望某個地方的某個好人會知道如何。 – Mazyod 2012-08-10 11:02:38

相關問題