我现在遇到这个问题,我需要处理推送通知的信息,当应用程序在后台时,我的意思是,甚至没有点击通知 . 这意味着必须在后台调用 **application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler !这是我的代码
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
NSLog(@"full message %@", userInfo);
NSDictionary *aps = [userInfo objectForKey:@"aps"];
NSLog(@"full aps %@", aps);
NSString *custom = [userInfo objectForKey:@"custom"];
NSLog(@"full custom %@",custom);
completionHandler(UIBackgroundFetchResultNewData);
[[NSNotificationCenter defaultCenter] postNotificationName:@"notificationRemote" object:nil userInfo:userInfo];
}
我真的需要处理这些信息,以便每当我收到任何通知时将其保存到本地,无论我点击推送通知 .
我搜索并看到我需要内容可用于我的有效负载,但我在Firebase控制台通知中找不到它 .
2 回答
是的,您需要有效负载中的内容可用密钥才能进行静默推送通知 .
有关FCM的更多信息,U可以看到此链接:Firebase silent apns notification
您可以使用FireBase Cloud 功能创建有效负载并触发通知 . 您可以处理Firebase实时数据库中的事件 . 实时数据库支持onWrite()事件,该事件会在指定的数据库位置中随时触发数据创建,销毁或更改 . 请参阅本教程了解可能对您有帮助的详细信息https://code.tutsplus.com/tutorials/serverless-apps-with-firebase-cloud-functions--cms-28557