从 userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler 检索通知类型:

Retrieve notification type from userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:

有什么方法可以检索触发的通知类型(localremoteuserNotificationCenter: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 以检索通知类型。但可能更 清楚 存在做我想做的事情的方法。

最后,我只是检查 userInfo 以查找远程推送通知负载中必需的特定键(例如 "aps")。就我的目的而言,这就足够了。有关远程通知负载的更多信息:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html