我从后台最新的应用sent notification then my device gets fcm notification succesfully
中删除了该应用,但是我想知道收到通知时调用哪种方法。由于在我的应用中收到通知,它必须自动打印收据。怎么办?在这种情况下,不会调用此方法。
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
Plz建议从后台删除应用程序(最近的应用程序)时哪种方法接收通知有效载荷
答案 0 :(得分:0)
如果该应用已被强制退出,则无法接收用于通知的远程通知处理程序。
“但是,如果用户强行退出,系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会尝试再次自动启动您的应用程序。” < / p>
https://developer.apple.com/forums/thread/65817
https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623013-application
答案 1 :(得分:0)
即使应用程序终止,您也可以使用 UINotificationExtension 在远程通知上执行代码
要在扩展程序和应用程序之间共享数据,您可以使用钥匙串共享内容
答案 2 :(得分:-1)
我在Android中使用Firebase通知时遇到了相同的问题。 它的发生是由于通知的有效负载。 check the Zohaib Ali answer.It will solve your problem
通知应使用Firebase Rest API发送,以便在后台接收通知
答案 3 :(得分:-1)
如果我理解您的担心,则当应用程序被杀死并收到通知时,将调用哪种方法。默认情况下,不会调用任何方法,但是通过修改APNS
有效负载,您可以在通知时调用应用程序。
为此,您必须启用“从功能中进行后台刷新”。另外,在推送有效载荷中,您必须添加一个键
"content-available" : 1
这将调用您的应用程序,尽管您的应用程序被杀死了。您大约有30秒的时间来执行任何任务。
那时,将调用下面的方法。调用并不意味着您的应用程序可以在调试区域中打印日志。检查您必须执行一些逻辑,例如将数据保存在UserDefaults
中,或者可以对此进行更新。
application:didReceiveRemoteNotification:fetchCompletionHandler:
https://medium.com/@m.imadali10/ios-silent-push-notifications-84009d57794c