当用户从主屏幕清除通知时,我想做点什么,当用户点击推送通知横幅上的清除按钮时有可能触发,我最终在视图上添加了自定义按钮,但这不可行。
图像已附加,我希望在用户点击此清除操作时触发任何想法?
{
“aps” : {
“category” : “MEETING_INVITATION”
“alert” : {
“title” : “Weekly Staff Meeting”
“body” : “Every Tuesday at 2pm”
},
},
“MEETING_ID” : “123456789”,
“USER_ID” : “ABCD1234”
}
我已经做到了,但是它在视图上的添加按钮如弹出窗口
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler:
@escaping () -> Void) {
// Get the meeting ID from the original notification.
let userInfo = response.notification.request.content.userInfo
let meetingID = userInfo["MEETING_ID"] as! String
let userID = userInfo["USER_ID"] as! String
// Perform the task associated with the action.
switch response.actionIdentifier {
case "ACCEPT_ACTION":
sharedMeetingManager.acceptMeeting(user: userID,
meetingID: meetingID)
break
case "DECLINE_ACTION":
sharedMeetingManager.declineMeeting(user: userID,
meetingID: meetingID)
break
// Handle other actions…
default:
break
}
// Always call the completion handler when done.
completionHandler()
}
答案 0 :(得分:1)
来自docs约actionIdentifier
:
此参数可以包含一个UNNotificationAction对象的标识符,也可以包含系统定义的标识符。系统定义的标识符为 UNNotificationDefaultActionIdentifier 和 UNNotificationDismissActionIdentifier ,它们表示用户打开了应用程序或取消了通知而没有任何进一步的操作。
因此,您不必使用自己的标识符,而不必使用系统的标识符。
代替
"ACCEPT_ACTION"
使用
UNNotificationDefaultActionIdentifier
而不是
"DECLINE_ACTION"
使用
UNNotificationDismissActionIdentifier