你好朋友我在IOS第一次使用FCM,我有条件。当我收到通知时,我必须插入一些数据,但无法做到。没有滑动我无法触发任何功能。所以任何人都可以建议我如何解决这个问题。 滑动后只有这个函数调用
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
if (application.applicationState == UIApplicationStateActive){
//application was in foreground
NSLog(@"%@",userInfo);
} else if (application.applicationState == UIApplicationStateInactive){
//application was in background
NSLog(@"%@",userInfo);
}else if (application.applicationState == UIApplicationStateBackground){
NSLog(@"%@",userInfo);
}
}
任何人都可以帮助我,提前致谢。
答案 0 :(得分:0)
您需要将UNNotificationCategoryOptionCustomDismissAction
添加到您在notificationCenter中注册的类别& 将该类别添加到您的通知内容中(因为'注册的notificationCenter类别&# 39;应与其收到的通知内容的“类别”匹配。
有关详情,请参阅WWDC 2016通知简介中的moment
编辑: 什么是类别?
通知本身只是包含正文的消息而已。如果您想添加任何形式的操作,那么您需要做两件事:
类别可帮助您添加/分组这些操作并相应地添加。有时候我需要解雇,回复,喜欢< - 3种不同的行为,分为1类。
使用unusernotificationCenter注册类别:
UNNotificationCategory* generalCategory = [UNNotificationCategory
categoryWithIdentifier:@"GENERAL"
actions:@[]
intentIdentifiers:@[]
options:UNNotificationCategoryOptionCustomDismissAction];
// Register the notification categories.
UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center setNotificationCategories:[NSSet setWithObjects:generalCategory, nil]];
复制自:Registering the Notification Categories for Your App
然后从您的服务器添加相同的类别名称,例如从上面的示例中将generalCategory
添加到您的category
键。有关详情,请参阅here。
然后从userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:
你可以做到:
switch response.actionIdentifier
并使用UNNotificationDismissActionIdentifier