APNS:如果应用程序被强制退出,则接收无声的远程通知

问题描述:

我正在疯狂地寻找一种方式来在用户强制退出其应用程序时接收无声的远程通知。APNS:如果应用程序被强制退出,则接收无声的远程通知

前段时间我已经对此做过实验。 要做到这一点的唯一方法是删除content-available标志。但是,这不再是一个沉默的通知。主要的用例是将附加内容下载到远程通知中,然后依次安排本地通知。

随着新的UNNotification框架的推出,他们还推出了新的Notification Service Extension,它提供了一种优雅的方式来下载对应于远程通知的内容。

但是,当应用程序强制关闭时,仍然无法对无声通知执行相同的操作。或者我错过了什么?

PS:也许它是重复的,但其他线程不尊重Notification Service Extension

最后我发现,在本地化的答案在这里还讨论: Change language of alert in banner of Push Notification

我还使用了新的通知在交付通知之前组合服务扩展来更改内容。

当应用程序部队关闭。 AppDelegate方法:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { 
} 

将不会被调用。但是如果你的json有效载荷包含aps,你会看到即时消息,在你滑动(或点击通知)之后,方法将被调用。

你可以看看google,找到的差异沉默和正常状态表以及他们在工作的其他Application State

+0

这是非常不满意的,因为我必须解决本地化问题。 – midori

+0

这似乎很适合:http://*.com/questions/18609923/change-language-of-alert-in-banner-of-push-notification。我明天会试试这个。在服务器上处理本地化不是一种选择! – midori

+0

你可以本地化aps标题。 'loc-title'或类似的东西。我不记得) –