2017-07-14 74 views
0

有沒有什麼方法可以檢索什麼類型(localremote)通知已被觸發userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:從userNotificationCenter檢索通知類型:didReceiveNotificationResponse:withCompletionHandler:

我正在爲我的應用程序開發某種內部分析模塊。在每個應用程序中,我需要從通知userInfo和通知類型(本地或遠程)向我們的分析服務器發送特定信息。

要獲得userInfo我用下面的代碼:

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler { 
    NSDictionary *userInfo = response.notification.request.content.userInfo; 
    //app-specific logic goes here 
    } 

當然調度本地通知的時候,我可以將特定的參數(每個應用程序)的userInfo添加到檢索通知類型。但可能更多明確方式存在做我想要的。

回答

0

最後,我只是在userInfo上檢查遠程推送通知有效負載(例如「aps」)中必需的特定鍵。就我的目的而言,這足夠了。有關遠程通知有效載荷的更多信息:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

+1

另一種選擇是使用'response.notification.request.trigger'來確定通知類型。無觸發==本地,UNPushNotificationTrigger ==遠程。 –

+0

或者更確切地說UNPushNotificationTrigger == remote,任何其他觸發==本地。 –