Ответ
Silent Push (фоновое уведомление) доставляет данные приложению без видимого уведомления пользователю, позволяя выполнять фоновые задачи (обновление контента, синхронизация). Обычный Push отображает видимое уведомление с возможностью звука, баннера и действий.
Ключевые различия:
- Отображение: Silent Push не показывает алерт, обычный Push — показывает.
- Цель: Silent Push для фоновых задач, обычный Push для информирования пользователя.
- Ограничения: Silent Push имеет строгие лимиты частоты и размера данных от APNs.
Примеры payload:
Silent Push (обязателен content-available: 1):
{
"aps": {
"content-available": 1
},
"data": {
"update_type": "new_messages"
}
}
Обычный Push:
{
"aps": {
"alert": {
"title": "Новое сообщение",
"body": "Привет!"
},
"sound": "default",
"badge": 1
}
}
Реализация: Для обработки Silent Push необходимо:
- Включить Background Modes > Remote notifications в Capabilities.
- Реализовать метод в
AppDelegate:func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { // Обработка данных из userInfo completionHandler(.newData) }