在后台模式下不调用FCM通知方法

时间:2017-08-22 11:21:36

标签: objective-c firebase-cloud-messaging

我使用FCM为推送通知制作了一个示例演示。 我能够在后台模式和前台模式下收到通知。 但我的问题是: - 当我的应用程序处于后台模式通知时收到,但没有调用任何单个方法,所以我可以采取行动。

我同意当我点击该方法时,它会调用一个方法,但不会在后台调用。

方法是我用过

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { 

}

- (void)userNotificationCenter:(UNUserNotificationCenter *)center  willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
{

}

请帮助我们,我卡住了。我需要它 提前致谢。 我已阅读了很多链接,但无法解决我的问题。

注意: - 请记住,我使用了Google云端消息: - FCM

我在Objective c

中使用过

1 个答案:

答案 0 :(得分:1)

根据您在问题评论中的讨论。以下是为满足您的要求所需做的一些事情。我发布这些要点,因为你不熟悉content-available事。

打开Xcode项目并

1:在Project Navigator中,选择您的项目。

2:在编辑器中,选择您的iOS应用目标。

3:选择功能选项卡。

4:在功能下启用推送通知。

enter image description here

5:启用后台模式功能。

6:启用远程通知后台模式。

enter image description here

现在,如果您的通知有效负载包含content-available : 1,那么您的应用将在后台被唤醒。

系统通过调用您的app代理的application:didReceiveRemoteNotification:fetchCompletionHandler:方法来发送通知。使用该方法启动所需的操作。