【问题标题】:FCM Notification Method is not called in background mode在后台模式下不调用 FCM 通知方法
【发布时间】:2017-08-22 11:21:35
【问题描述】:

我为使用 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中使用过

【问题讨论】:

  • 你的通知负载是什么?
  • 你添加了 "content-available" : 1 吗?
  • @M Zubair Shamshad:对不起,我是 FCM 的新手,在哪里放置内容可用":1,它放在后端吗?
  • Pay Load 采用这种格式 { "aps" : { "alert" : "You got your emails.", "badge" : 9, "sound" : "bingbong.aiff" }, " acme1" : "bar", "acme2" : 42 }
  • 您的要求是在用户交互之前调用通知代表接收推送(用户点击通知横幅)???是吗?

标签: objective-c firebase-cloud-messaging


【解决方案1】:

根据我们在 cmets 中根据您的问题进行的讨论。为了满足您的要求,还有一些事情要做。我发布这些观点是因为您不熟悉 content-available 的东西。

打开您的 Xcode 项目并

1:在项目导航器中,选择您的项目。

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

3:选择功能选项卡。

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

5:启用后台模式功能。

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

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

系统通过调用您的应用委托的application:didReceiveRemoteNotification:fetchCompletionHandler: 方法来传递通知。使用该方法启动所需的操作。

【讨论】:

  • 你上面提到的任何事情我已经实现了,只是等待后端人员在他的负载代码中设置“内容可用:1”。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 2016-10-20
  • 2022-08-15
  • 2017-10-27
  • 1970-01-01
  • 2021-04-06
相关资源
最近更新 更多