Ios 应用程序被终止时调用的推送通知方法

Ios 应用程序被终止时调用的推送通知方法,ios,objective-c,swift,xcode,firebase-cloud-messaging,Ios,Objective C,Swift,Xcode,Firebase Cloud Messaging,我从后台最近的应用程序中删除了应用程序,发送了通知,然后我的设备成功地获得fcm通知,但我想知道在收到通知时调用哪个方法。因为在我的应用程序中收到通知时,它必须自动打印收据。如何做到这一点?在这种情况下不调用此方法 -(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackg

我从后台最近的应用程序中删除了应用程序,
发送了通知,然后我的设备成功地获得fcm通知
,但我想知道在收到通知时调用哪个方法。因为在我的应用程序中收到通知时,它必须自动打印收据。如何做到这一点?在这种情况下不调用此方法

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

Plz建议当应用程序从后台删除时,哪种方法接收通知负载(最近的应用程序)

我在android中使用Firebase通知时遇到过同样的问题。 它的发生是因为通知的有效负载。


通知应该使用Firebase Rest API发送,以便在后台接收通知

如果我了解您的问题是,当应用程序被终止并且收到通知时,将调用哪个方法。默认情况下,不会调用任何方法,但通过修改
APNS
Payload,您可以在通知时调用应用程序

为此,您必须从功能中启用后台刷新。此外,在推送负载中,您必须添加一个键

"content-available" : 1
这将在应用程序被终止时调用应用程序。您有大约30秒的时间执行任何任务

此时,将调用下面的方法。调用并不意味着您的应用程序可以在调试区域打印日志。要进行检查,您必须执行一些逻辑操作,例如在
UserDefaults
中保存数据,或者可以更新服务器

application:didReceiveRemoteNotification:fetchCompletionHandler:
你可以找到更多信息


如果应用程序已被强制退出,则无法接收远程通知处理程序的通知

但是,如果用户强制退出应用程序,系统不会自动启动应用程序。在这种情况下,用户必须重新启动应用程序或重新启动设备,然后系统才会尝试再次自动启动应用程序


即使应用程序被终止,您也可以使用UINotificationExtension执行远程通知代码


要在扩展和应用程序之间共享数据,可以使用Keychain共享内容

如果从应用程序切换器终止应用程序,则在发送推送通知时不会调用任何方法。iOS只是显示横幅。@Paulw11那么,当推送通知到达时,如何自动获取打印的收据您不能。如果用户终止了你的应用程序,它将不会运行,直到他们重新启动它。但是,当应用程序从通知中启动时,你可以打印收据。@Lapieuvre是的,当用户单击通知时,我们会这样做,但唯一的问题是,尽管收到通知,但当应用程序终止时,我们不能这样做。你所说的一切都实现了,我们得到了完美的通知;但当应用程序从最近的应用程序列表中删除时;我不会自动获取打印收据,因为没有调用任何方法。如果用户终止应用程序,那么可以做什么来避免推送通知执行代码。我不认为使用
UINotificationExtension
可以解决应用程序被用户杀死后是否会启动/唤醒的问题。无声的后台通知是让iOS启动应用程序的唯一半可靠方法。您好,测试一下,开始工作。