应用被杀死时调用的推送通知方法

问题描述

我从后台最新的应用sent notification then my device gets fcm notification succesfully中删除了该应用,但是我想知道收到通知时调用哪种方法。由于在我的应用中收到通知,它必须自动打印收据。怎么办?在这种情况下,不会调用此方法。

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

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

解决方法

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

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

https://developer.apple.com/forums/thread/65817

https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623013-application

,

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

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

,

我在Android中使用Firebase通知时遇到了相同的问题。 它的发生是由于通知的有效负载。 check the Zohaib Ali answer.It will solve your problem

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

,

如果我理解您的担心,则当应用程序被杀死并收到通知时,将调用哪种方法。默认情况下,不会调用任何方法,但是通过修改APNS有效负载,您可以在通知时调用应用程序。

为此,您必须启用“从功能中进行后台刷新”。另外,在推送有效载荷中,您必须添加一个键

"content-available" : 1

这将调用您的应用程序,尽管您的应用程序被杀死了。您大约有30秒的时间来执行任何任务。

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

application:didReceiveRemoteNotification:fetchCompletionHandler:

您可以找到更多信息 https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app

https://medium.com/@m.imadali10/ios-silent-push-notifications-84009d57794c

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...