2015-11-18 260 views
0

我一直在從後臺查殺應用程序。然後推送通知進入,它顯示在我的通知托盤上。當我點擊通知時,我的代碼工作正常。當我沒有點擊通知並簡單地啓動應用程序。我們如何獲得用戶信息通知。我被卡住了。請幫忙。PushNotification無法正常工作

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Override point for customization after application launch. 
    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    NSDictionary* userInfo = 
    [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
    NSLog(@"%@",userInfo); 
} 
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 
{ 
    NSLog(@"%@",userInfo); 

} 
+0

你試過了什麼?你能給我們提供一些代碼嗎? –

+0

你在哪裏碰到?你在做什麼?你沒有正確說明你的問題 – Imran

+0

@Imran當我的應用從背景中消失時,我想要我的通知信息。並且我在沒有點擊通知的情況下啓動應用程序。 –

回答

1

在簡單的話,你不能訪問您的通知的userInfo,當你在你的應用程序圖標,直接點擊,當你在通知欄通知挖掘你只會得到它。

+0

我們如何克服這一點。有沒有其他辦法可以做到這一點。 –

+0

您可以在服務器上保留讀取和未讀消息的標誌,並在啓動應用程序時進行查詢。如果您有未讀消息在啓動時顯示用戶。這是唯一的解決方案 –

+0

@MahimaTyagi你將在服務器端的幫助下管理這個。 – Rajat

0

如果應用程序不是通過點擊通知直接啓動,則無法從通知中獲取信息。這很讓人傷心,你可以在啓動應用時檢查遠程服務器是否有未讀通知。

0

如果您直接點擊應用程序圖標,則無法獲取通知對象,只會收到有關用於打開應用程序的通知的信息。因此,如果用戶打開您的應用程序,並且您的應用程序有通知,則您將無法在應用中從其中檢索它們。

您可以跟蹤服務器上的通知,並在用戶直接從應用程序圖標啓動服務器時從服務器獲取未讀通知。因此服務器會跟蹤所有的通知。 Facebook就是這麼做的。

0

除非您通過推送通知打開您的應用程序,否則無法獲取通知的信息。