Powiadomienia w iOS 10 – jak łatwo je dodać?
Nowa wersja systemu iOS zawiera sporo zmian dotyczących powiadomień lokalnych i serwerowych. Do dyspozycji mamy nowy framework UserNotifications, który umożliwia dostarczanie oraz obsługę powiadomień. Podpowiadamy, jakie kroki należy wykonać, żeby nasze powiadomienia działały poprawnie.
Obsługa powiadomień w iOS
Nowe powiadomienia umożliwiają dodawanie obrazków (jpg, png, gif), filmów wideo i dodatkowych akcji. Dodatkowo mamy do dyspozycji Notification Content Extension, dzięki któremu możemy w dowolny sposób przygotować wygląd powiadomienia w aplikacji.
Aby obsłużyć powiadomienia w aplikacji, trzeba zadbać o:
- rejestrację powiadomień (Register),
- ustawienie wyzwalacza (Triger),
- stworzenie zawartości (Content),
- wywołanie powiadomienia (Schedule).
Krok 1. Rejestracja powiadomienia
W stosunku do poprzednich wersji systemu iOS nastąpiła zmiana w sposobie rejestracji powiadomień:
UNUserNotificationCenter.current().requestAuthorization(options:[.alert, .sound, .badge]) { (greanted, error) in //.. }
Dodatkowo mamy możliwość sprawdzenia, jakie użytkownik wybrał ustawienia dla powiadomień w aplikacji.
Krok 2. Ustawienie wyzwalacza
Do dyspozycji mamy cztery typy wyzwalaczy:
- Push, czyli powiadomienie zdalne
- Time Interval
UNTimeIntercalNotificationTrigger(timeInterval: 120, repeats: false)
- Calendar
let dateComponents = DateComponents()
// tutaj należy ustawić dateComponents
UNCalendarNotificationTrigger( dateMatching: dateComponents, repeats: false )
- Location
let region - CLRegion()
// tutaj należy ustawić region
UNLocationNotificationTrigger( region: region, repeats: false )
Krok 3. Stworzenie zawartości powiadomienia
W tym momencie mamy większe pole do manewru, a co za tym idzie, możemy ustawić title, subtitle oraz body dla powiadomienia.
let content = UNMutableNotificationContent()
content.title = "Notification title"
content.subtitle = "Notification subtitle"
content.body = "Notification body"
content.sound = UNNotificationSound.default()
content.badge = 1
Krok 4. Wywołanie powiadomienia
Na koniec musimy tylko wywołać powiadomienie w sposób zaprezentowany poniżej.
let requestId = "notificationRequestIdentifier1"
let request = UNNotificationRequest(identifier: requestId, content: content, trigger: triger)
UNUserNotificationCenter.current().add(request) { error in //... }