
10 Dakikada Firebase iOS Push Notification
Merhaba Sevgili Developer,
Öncelikle “Push Notification” hakkında biraz bilgi vereyim.
Örneğin kabaca bir anlatım ile; iOS cihazlarda uygulamalar sürekli çalışmaz. Daha doğrusu ekranda açık değilse elbet iOS onu pil ömrü, işlemci durumu vb konularda sistemi optimize etmek için “suspend” eder yani dondurur, ki bu da sonlandırılma gibi bir anlama gelir. Tabii burada istisnai durumlar da yok değildir.
İşte tam da bu noktada kullanıcı ile etkileşim kurmak için “Push Notification” kullanılabilir. Diyelim ki kullanıcının ilgisini çekecek bir içerik eklendi, ya da daha çok karşılaştığımız örnek olarak, birisi ona mesaj gönderdi. Bu gibi durumlarda kullanıcıya bildirim göndeririz ki, uygulamayı açıp etkileşime girsin ya da en azından haberdar olsun.
Bildirimler temel olarak şu üç özelliği barındırır:
1. Bir ses seçeneği
Uygulamanız içerisine dahil edeceğiniz uygun formatlı bir ses dosyasını belirterek size özel bir bildirim sesi kullanabilir ya da varsayılan ses ile kullanıcıyı bildirim geldiği konusunda ikaz edebilirsiniz.
2. Görüntülenecek yazı
Bildirim geldiğinde ekranda görüntülenecek yazı.
3. Uygulama ikonu üzerinde belirecek sayı
Uygulamanızın ikonunun sağ üst köşesinde belirecek, kullanıcıya bekleyen etkileşimleri ya da uygulamanız ile ilgili bir sayıyı göstermenize yarayan sayısal değer.
Part 1
Developer Apple hesabımızla giriş yaparak başlıyoruz.

Aşağıdaki linkten giriş sayfasına ulaşabilirsiniz.
Giriş yaptıktan sonra devam ediyoruz;
Overview → Certificates, Identifiers & Profiles tıklıyoruz. Bu aşamadan sonra, eğer varsa App IDs seçiyoruz yoksa sağ üst köşede bulunan ‘+’ ya tıklıyoruz. Aşağıdaki görselde gösterdiğim gibi Push Notifications’u seçiyoruz, burada gerçekleştirmek istediğiniz farklı şeyler varsa onları da seçebilirsiniz.

Şimdi genel bir isim veriyoruz. Proje, App ID Description ‘name’ kısmına yazdığım isimle görünecek.

! Asıl dikkat edilmesi gereken noktalardan birine geldik, ‘Bundle ID’ buraya yazacağımız ismi projenin seri numarası gibi düşünebiliriz, yani tek olmalı. Ve bir diğer husus Xcode’da projemizi oluştururken burada verdiğimiz isimle aynı olmalı.

Bu aşamaları tamamladıktan sonra Continue ardından Register diyoruz. Şu anda Push Notifications enabled durumunda değil çünkü henüz kullanmadık.
Part 1de yapılan işleri adım adım videodanda izleyebilirsiniz.
Part 2
XCode yeni proje oluşturarak başlıyoruz (projenizi önceden oluşturmadıysanız).

Projeyi oluşturduk. Şimdi Firebase’i projeye entegre edeceğiz. Bunun için Terminali açıyoruz. Projenin yolunu veriyoruz.( ‘cd’ yazdıktan sonra proje dosyasını sürükle bırak yapabilirsiniz.) Pod init ve pod install yazıyoruz.

Firebase entegrasyonu için gerekli kodları Podfile içine ekliyoruz. Bu işlem için herhangi bir TextEdit kullanabilirsiniz, ben Sublime Text kullanıyorum.

Sublime Text içine use_frameworks! altına görselde göründüğü gibi kodları ekliyoruz.
Dikkat : Ekledikten sonra ‘SAVE’ etmeyi unutmuyoruz :)

Firebase entegrasyonu gerçekleşti.

Part 2 de yapılan işleri adım adım videodanda izleyebilirsiniz.
Part 3
Firebase’de proje oluşturmamız gerekiyor. Projenin ismini yazıp, ülke seçimi yapıyoruz. Görselin altında linki bulabilirsiniz.

iOS çalıştığım için iOS’u seçiyorum.

Yine önemli bir nokta, iOS paket kimliği (projenin seri numarası gibi olan) yerine Bundle identifier’da verdiğimiz ismin aynısını veriyoruz. Çünkü haberleşme bu şekilde sağlanıyor.

Aşağıdaki görselde göründüğü gibi GoogleServise-info.plist dosyasını indiriyoruz.

Swift ve Objective-C olarak iki ayrı kod burada mevcut. Hangisini kullanıyorsak buradan projemize ekliyoruz.
Bu kodları AppDelegate.swift’te ekliyoruz.

İndirmiş olduğumuz GoogleServise-info.plist dosyasını projeye eklemeyi unutmuyoruz. Ekleme işlemini basitçe sürükle bırak şeklinde yapabilirsiniz.

Kodları projeye ekliyoruz.

Part 3 de yapılan işleri adım adım videodan da izleyebilirsiniz.
Part 4
En çok dikkat edilmesi gereken yer burası Sertifika nasıl oluşturulur adım adım yazıcağız. Bilgisayarımızda yüklü olan Keychain Access.app (Anahtar Zincir Erişimi) uygulamasını açalım.
Resimdeki gibi “Sertifika Otoritesinden Sertifika İste… diyelim

Mail adresimizi girdikten sonra maile veya diske kaydedip sürdür diyelim.

Apple Developer sitesinden oluşturduğumuz uygulamanın ayarlarında Push Notification etkinleştirelim. Bu noktada geliştirmemi yapıcaz yoksa uygulama App Store da iken bildirim gelicek ona göre Sertifikayı yüklemeliyiz. Biz geliştirme için sertifika oluşturuyoruz.
Eğer AppStore koyucaksanız Production SSL Certificate oluşturun hemen bildirim alamazsınız uygulama AppStore da yayınlanması gerekir. Development ortamında yaptığınız push App Storeda yayınlanan uygulamanızda bildirim gelmez.

Bir sonraki adımda oluşturğumuz sertifikayı yükleyelim.

Yükledikten sonra ardından kendisi bize sertifika verdi bunu indirelim.

İndirdiğimiz sertifika üzerine tıklayıp Keychain Access.app (Anahtar Zincir Erişimi) Sertifika Yarat diyoruz. Şifre verip kaydediyoruz. Bu şifre Firebase yüklerken bize tekrardan sorucak.

Oluşturmuş olduğumuz .p12 uzantılı firebase sertifikamızı yüklemiş olduk.

Part 4 de yapılan işleri adım adım videodanda izleyebilirsiniz.
Part 5
Xcode açtıktan sonra AppDelegate.swift kısmına import Firebase ve UserNotifications ekleyip UNUserNotificationCenterDelegate delegate ediyoruz ve didFinishLaunchingWithOptions methodunun içine Firebase entegrasyonunu yapıyoruz.
Capabilites ekranından Push Notifications ve Background Modes aktif hale getiriyoruz. Tebrikler entegrasyonu tamamladınız.

Şimdi ilk push denememiz yapalım ve Firebase açalım Notification kısmından ilk bildirimimizi yapalım.

Part 5 de yapılan işleri adım adım videodanda izleyebilirsiniz.
Part 6
Cihazımızda test ediyoruz.


