Страницы

Поиск по вопросам

четверг, 13 июня 2019 г.

Push-уведомления

У меня возник вопрос, вот есть приложения которые присылают уведомления типа "Вы не заходили в приложение уже 2 дня" и тому подобное. Эти приложения так же шлют нотификации через собственные сервера?
Нет возможности создавать локальные нотификации с таймером, что бы допустим через час после того как приложение закрылось, было показано уведомление?
Если нет, то получаеться мониторинг бездействия пользователя определяется так же по последнему конекту к серверу?


Ответ

Можете по последнему коннекту отсылать пуши, а можете запускать локальные нотификации. Например если пользователь свернул приложение, запускаем нотификацию,
func applicationDidEnterBackground(_ application: UIApplication) { let content = UNMutableNotificationContent() content.title = "Notification" content.body = "Sample" let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 5.0, repeats: false) //покажет через 5 секунд let request = UNNotificationRequest(identifier:requestIdentifier, content: content, trigger: trigger) UNUserNotificationCenter.current().add(request){(error) in if (error != nil){ print(error?.localizedDescription ?? "") } } }
если пользователь открыл приложение - убиваем ее.
func applicationDidBecomeActive(_ application: UIApplication) { UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: [requestIdentifier]) }
Если не запускал определенное время - показывается.
Пример на GitHub

Комментариев нет:

Отправить комментарий