如何在IOS中了解FCM通知

时间:2017-09-06 11:41:57

标签: ios objective-c push-notification firebase-cloud-messaging

你好朋友我在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);
}


}

任何人都可以帮助我,提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要将UNNotificationCategoryOptionCustomDismissAction添加到您在notificationCenter中注册的类别& 将该类别添加到您的通知内容中(因为'注册的notificationCenter类别&# 39;应与其收到的通知内容的“类别”匹配。

有关详情,请参阅WWDC 2016通知简介中的moment

编辑: 什么是类别?

通知本身只是包含正文的消息而已。如果您想添加任何形式的操作,那么您需要做两件事:

  • 将该操作添加到通知内容
  • 将该操作添加到您的usernotificationCenter。

类别可帮助您添加/分组这些操作并相应地添加。有时候我需要解雇,回复,喜欢< - 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:withCo‌​mpletionHandler:你可以做到:

switch response.actionIdentifier并使用UNNotificationDismissActionIdentifier

的情况处理点击