Swift 4 - Zamanlanmış Yerel Bildirimler nedir? nasıl gönderilir?

Merhaba arkadaşlar, yoğun iş temposu ve proje deadlineları sebebiyle uzun zamandır yazı giremedim, aslında bu yazıdan önce GCD ile ilgili bir yazı olacaktı yalnız onu henüz tamamlayamadım, çok kısa süre içerisinda o da gelecek, haydi yerel bildirimler nedir bakalım. 🤠

Yerel Bildirimler nedir?

Yerel Bildirimler, uygulamanızın içinde (foreground) veyahut uygulama da olmadığınız sırada (background), kullanıcılarınızı uyarmanıza yarayan bir bildirim tipidir. Arka servisleriniz, OneSignal, Firebase gibi servisler kullanarak gönderdiğiniz bildirimlerin ‘Uzaktan (Remote) bildirimler’ olarak anılmasıyla beraber bir diğer farkı ise yerel bildirimlerin uygulama içerisinde zamanlanıp, sistem tarafından kullanıcıya gösterilmesidir.(Bu sebeple background modunda da gözükür. Süreci OS yönetiyor.)

Elbette aranızda şunu söyleyenler olacaktır; Uzaktan bildirimleri de zamanlayabiliyoruz, pekala yukarıdaki saydığım üçüncü parti servisler ve arka servisleriniz nazarında onları da scheduled (zamanlanmış) konuma getirebilirsiniz.

Lakin Yerel Bildirimler, bir başka kontrolcü tarafından uyarılmaz, doğrudan uygulamanız içerisinden zamanlanır. Onları uzaktan bildirimlerden ayıran en önemli özellik budur.

Not 1: Bu bildirim tipinin kullanıcılarınıza gösterilmesi için üstte belirttiğim gibi uygulamanızın çalışması gerekmiyor. Foreground / Background durumlarında da gösterebilirsiniz.

Küçük bir test uygulaması yaparak durumu özetlemek gerekirse, bildirim başlığı, içeriği ve zamanlanacağı tarihi sizden alarak, ‘Zamanla’ butonuna tıkladığında bildirimin istediğiniz zamanda gösterilmesini istersek aşağıdaki gibi yapabiliriz.

Örnek uygulamadan görüntüler;

DatePicker’den alınan zaman bilgisi ‘pickerType’ı ne olursa olsun, tarih formatıyla döneceği ve bununla birlikte bizde saat / dakika bazında zamanlama yapmak istediğimiz için components değişkeni içerisinde (hour, minute) olarak parçaladık. Elbette dilediğiniz gibi yapılandırabilirsiniz.

Görüldüğü üzere Apple’ın UserNotifications kütüphanesini kullanarak yerel bildirimleri yukarıda gördüğümüz test uygulamasına entegre ettik, belirttiğimiz title/body ve verilen zamanlamaya göre bildirimleri cihazlarımızda gösterebilmek mümkün!
Not 2: Yerel bildirimlerin gösterilebilmesi için aynı Uzaktan (Remote) bildirimlerde olduğu gibi kullanıcıdan “Bildirimleri Gösterebilme” iznini edinmiş olmanız gerekiyor.

Bu konuda daha fazla bilgi sahibi olmak istiyorsanız, Apple’ın dökümantasyonlarını da aşağıya bırakıyorum. 🤟🏼

> Local and Remote Notifications Overview (Apple Documentation)

> Scheduling and Handling Local Notifications (Apple Documentation)

Zaman ayırdığınız için teşekkür ederim 👍🏼, umarım faydalı bir yazı olmuştur. Her zaman ki gibi merak ettikleriniz için çekinmeden Twitter üzerinden ulaşabilir, mesaj gönderebilirsiniz. 💪🏼

Twitter: @strawb3rryx7

Bir sonraki yazıda görüşmek üzere… 👨🏻‍💻