我有一个问题,当某个应用被杀死(即从最近的应用中手动删除)时,如何处理远程通知。
让我先给您一些背景信息。
我们有一台通过APNS将远程通知发送到iOS设备的服务器。我们在应用程序中处理通知,并将其存储在设备本身上。
当应用程序处于前台时,将调用DidReceiveRemoteNotification(),我们可以处理通知。然后,我们显示本地通知。
当应用程序在后台运行(未被杀死)时,也会调用DidReceiveRemoteNotification(),我们可以处理该通知。该通知会自动显示为本地通知。
问题
当应用被终止时,不会调用DidReceiveRemoteNotification(),因此我们无法处理该通知。但是,该通知将显示为横幅。
当应用程序被终止时,它将在通知中显示锁定键文本。我需要您根据该锁定键显示该自定义文本。非常感谢
PUSH =>
{{
aps = {
alert = {
"loc-args" = (
);
"loc-key" = "new_chat";
};
"content-available" = 1;
id = 3;
message = Aaa;
sound = default;
subject = "new_chat";
type = chat;
};}}
答案 0 :(得分:0)
如果用户强行退出,iOS不会自动重新启动您的应用并调用DidReceiveRemoteNotification
。查看didReceiveRemoteNotification
API的“讨论” 部分:
...
但是,如果用户强行退出应用,系统不会自动启动您的应用。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会尝试再次自动启动您的应用程序
...
Apple iOS文档:application:didReceiveRemoteNotification:fetchCompletionHandler:
答案 1 :(得分:0)
您可以尝试使用Voip push notification
但这会导致应用程序启动。
我们在重新启动时遇到同样的问题,因此在通过通知启动应用程序后,我们会对其进行处理并以编程方式杀死该应用程序(我知道杀死应用程序是很糟糕的事,但我们系统的工作流程需要这样做)