从 userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler 检索通知类型:
Retrieve notification type from userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:
有什么方法可以检索触发的通知类型(local
或 remote
)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
以检索通知类型。但可能更 清楚 存在做我想做的事情的方法。
最后,我只是检查 userInfo
以查找远程推送通知负载中必需的特定键(例如 "aps")。就我的目的而言,这就足够了。有关远程通知负载的更多信息:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
有什么方法可以检索触发的通知类型(local
或 remote
)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
以检索通知类型。但可能更 清楚 存在做我想做的事情的方法。
最后,我只是检查 userInfo
以查找远程推送通知负载中必需的特定键(例如 "aps")。就我的目的而言,这就足够了。有关远程通知负载的更多信息:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html