Buradasın
Azure Notification Hub ile iOS ve Android Uygulamalarına Push Notification Ekleme Eğitimi
youtube.com/watch?v=oN4FICggqPoYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Microsoft MVP ve Açık Eğitmenler'den Yiğit Aksüt tarafından sunulan kapsamlı bir teknik eğitim içeriğidir. Eğitmen, Rose adlı bir katılımcıyla birlikte çalışmaktadır.
- Eğitim, Azure Notification Hub kullanarak iOS ve Android uygulamalarına push notification ekleme sürecini adım adım anlatmaktadır. Video, öncelikle iOS platformu için Azure Notification Hub oluşturma, Apple Developer portalunda sertifika ve provision profile oluşturma, ardından Android platformu için Firebase üzerinden uygulama oluşturma ve Notification Hub entegrasyonu konularını kapsamaktadır. Ayrıca, her iki platform için de uygulama kodlaması, bildirim ayarları ve test süreçleri detaylı olarak gösterilmektedir.
- Eğitim boyunca, uygulamaların hem açıkken hem de kapalıyken bildirimlerin nasıl çalıştığı test edilmekte ve soru-cevap bölümü ile video sonlandırılmaktadır. Eğitmen, katılımcıların takıldığı durumlarda kendisine mail atabileceklerini ve sorulara mümkün olduğunca hızlı cevap vereceğini belirtmektedir.
- 00:19Azure Notification Hub'ı ve Platform Seçimi
- Microsoft MVP ve Açık Eğitmenlerinden Yiğit Aksüt, Azure Notification Hub'ı kullanarak Android ve iOS platformlarında push notification'ların nasıl yapılacağını anlatacak.
- iOS ile başlanacak çünkü sertifikasyon kısımlarının zaman alması nedeniyle, sertifikalar hazırlandıktan sonra sadece birkaç metodun override edilmesi yeterli olacaktır.
- Android tarafında ise sertifika ile uğraşmadan, Firebase'den bir uygulama açarak geri kalanı kodda halledilecektir.
- 02:02Azure Notification Hub'ı Oluşturma
- Azure portalında "New" sekmesinden yeni bir Notification Hub oluşturulacaktır.
- Notification Hub ismi, konum (en yakın olan seçilmeli), mevcut bir resource group seçimi ve subscription ayarları yapılacaktır.
- Notification Hub oluşturulduktan sonra, Apple ve Google kısımlarında ayarlar yapılacak.
- 04:16Azure Notification Hub'ın Özellikleri
- "Properties" kısmında namespace ve access policies bilgileri bulunmaktadır.
- Access policies kısmında, listen connection (sadece listeden connection string) ve manage/send yapan connection string bulunmaktadır.
- Notification settings kısmında Apple ve Google ayarları bulunmaktadır.
- 06:30Apple Developer Hesabı ve Sertifikalar
- Apple Developer hesabı olması gerekmektedir ve tüm mevcut sertifikalar silinerek sıfırdan başlanacaktır.
- İlk olarak iOS development sertifikası oluşturulmalıdır çünkü uygulamayı gerçek cihazlarda çalıştırmak ve debug işlemi yapabilmek için gerekli olup, bunun için Apple Developer hesabı gereklidir.
- Uygulamayı store'lara çıkabilmek için de distribution sertifikasına ihtiyaç vardır.
- 09:38Sertifika Oluşturma ve App ID Ayarları
- Developer ve distribution sertifikaları oluşturulduktan sonra bir uygulama oluşturulmalıdır.
- App ID oluştururken, uygulama ismi ve bundle ID belirlenmelidir.
- Bundle ID, uygulamaya özgü bir primer key gibidir ve uygulamanın info.plist dosyasından alınabilir.
- 12:06Apple Developer Portal'da App Ayarları
- App Services bölümünde Apple Pay, data protection, app group, Health Kit, Home Kit gibi özellikler seçilebilir, ancak push notification seçilmelidir.
- Development app oluştururken push notification özelliğini kullanacağını belirtmek gerekir.
- Sertifikalar ve application'lar oluşturulduktan sonra, app'in çalışmasını sağlayacak provision profile'ları üretmek gereklidir.
- 13:14Provision Profile Oluşturma
- İki tür provision profile üretmek gerekir: development provision profile ve distribution provision profile.
- Development provision profile oluştururken, hangi application ID ile eşleşeceğini ve hangi sertifika üzerinden çalışacağını seçmek gerekir.
- Device kısmı için cihazların UDI ID'leri girilmelidir, aksi takdirde debug yapılamaz.
- 15:57Xcode'da Ayarlar
- Provision profile'lar Xcode'da açılınca, Xcode'un Preferences kısmına gidip Apple ID'nizi girmeniz gerekir.
- Account kısmından oluşturduğunuz provision profile'ları download etmeniz gerekir.
- Hem agent hem personal team için profile'lar download edilmelidir.
- 16:55Notification Settings İçin Sertifika Oluşturma
- Notification settings kısmında Azure tarafta token veya sertifika üzerinden ayarlar yapılabilir, bu örnekte sertifika üzerinden yapılacak.
- Apple Push Notification Service SSL sertifikası için sandbox ve production seçenekleri seçilir.
- Oluşturulan sertifika Keychain'den export edilerek .p12 dosyası olarak dışarı çıkartılır.
- 19:35Apple Tarafında Sertifika Yükleme
- Apple tarafında .p12 sertifika dosyası upload edilir.
- Sandbox veya production için seçim yapılır ve save yapılır.
- Notification update success mesajı görüldüğünde Apple tarafındaki işlemler tamamlanmış olur.
- 20:49Uygulama Ayarları ve NuGet Paketleri
- Uygulamada bundle identifier, Apple Developer Portal'daki ile aynı olmalıdır.
- Capabilities sekmesinden background mod enable edilip remote notification kısmını açmak gerekir.
- Azure Notification Hub iOS ve Newtonsoft.Json NuGet paketleri projeye eklenmelidir.
- 23:23Kod Yazımı
- App üzerinde kod yazılırken kullanılmayan namespace'ler temizlenmelidir.
- Notification Hub yaratmak için Windows Azure Messaging namespace altında get set yapılır.
- Notification izni almak için UI device class'ı kullanılır ve sistem versiyonuna göre notification settings açılır.
- 25:21Push Notification Ayarları
- UI notification type ve sound ayarları yapılarak yeni bir push settings oluşturuldu.
- UIApplication.shared.registerUserNotificationSettings(settings) ile kullanıcı bildirim ayarları kaydedildi.
- UIApplication.shared.registerForRemoteNotifications() ile uzaktan bildirimler için kayıt yapıldı.
- 27:20Bildirim Metotları
- Override edilmesi gereken metotlar arasında didReceiveRemoteNotification ve registerForRemoteNotification bulunmaktadır.
- Notification geldiğinde çalışacak processNotification metodu oluşturuldu.
- Önemli olan kısım register kısmı, cihazın Azure'daki notification hub'a kaydedilmesi gerekiyor.
- 28:40Hub'a Kayıt İşlemi
- Hub'a cihaz kaydetmek için connection string ve notification hub adı gerekiyor.
- Bu bilgiler ortak bir yere yazıldı: "connectionString" ve "notificationHubName".
- Hub'un registerAll metodu kullanılarak cihaz kaydedildi, önce unRegisterAll ile kayıtlı cihazlar temizlendi.
- 34:09Bildirim İşleme
- Bildirim geldiğinde didReceiveRemoteNotification veya didReceiveRemoteNotification metotlarından biri çalışır.
- Options içinde "aps" anahtarına sahip olduğunda, aps içindeki data alınıp bildirim oluşturulur.
- UIAlertViewController kullanılarak bildirim gösterilir.
- 38:15Uygulama Ayarları
- Telefonun Mac'e bağlanması gerekiyor çünkü aksi takdirde telefon görünmez.
- Bundle Signing kısmında developer ve provision profile ayarları yapıldı.
- Push notification için production SSL sertifikası kullanıldı.
- 40:17Test Bildirimi
- Notification Hub'ın altında Support ve Troubleshooting kısmından test bildirimi gönderilebilir.
- 40:36iOS Uygulamasına Push Notification Ekleme
- Uygulama telefonuna aktarıldıktan sonra, bildirim gönderme izni için kullanıcıdan onay isteniyor.
- "Send" butonuna basıldığında modifikasyon gönderiliyor ancak telefona düşmüyor.
- Uygulama tekrar başlatılarak sorunun nereden kaynaklandığı araştırılıyor.
- 44:24iOS Uygulamasında Debug Kontrolü
- Namespace, connection string ve notification hub name değerlerinin doğru girildiği kontrol ediliyor.
- Debug modu aktif edilerek hata ayıklama yapılıyor.
- Device token başarıyla alındıktan sonra modifikasyon geldiğini ve "receive notification" mesajının ekranda göründüğünü tespit ediyor.
- 47:37iOS Uygulamasında Modifikasyon Görüntülenmesi
- Modifikasyon pencere şeklinde gösterilmediği için uygulama kapatılıp tekrar açılıyor.
- "Send" butonuna basıldığında modifikasyon düştüğünü ve pencere şeklinde görüntülenmediğini gösteriyor.
- "Açık Akademi" yazısıyla tekrar modifikasyon gönderildiğinde, ışık yansıması olsa bile modifikasyonun düştüğünü gösteriyor.
- 50:37Android Uygulaması İçin Firebase Ayarları
- Firebase Console'a giriş yapılarak "Açık Push Notification" adında bir proje oluşturuluyor.
- Proje ayarlarından Cloud Messaging kısmına gidilerek sunucu anahtarı ve sender ID bilgileri alınıyor.
- Android uygulamasında package name olarak "com.pn.android" yazılması gerekiyor.
- 53:13Android Uygulamasında Notification Ayarları
- Android uygulamasında Google Cloud Messaging ve Azure Notification Android kütüphaneleri yükleniyor.
- Uygulama debug modunda değilken modifikasyonların da geldiği gösteriliyor.
- Uygulama kapalıyken modifikasyon gönderildiğinde, modifikasyon düştüğünü ve tıklandığında uygulamanın açıldığını gösteriyor.
- 55:20Android Push Notification Kurulumu
- Android'de push notification atarken zaman kaybetmek gerekmiyor, sertifika gibi bir şey gerekmiyor.
- Firebase projesi oluşturulup keyi projeye yapıştırılabilir.
- Google Cloud Messaging (GCM) için zam nokta com'dan component aranıp indirilip library olarak kullanılır.
- 57:05Android Proje Hazırlığı
- Android ve Google Cloud Messaging client hazır hale getirildi.
- Listen connection, sing ve notification hub'a ihtiyaç duyuluyor.
- Main activity'de Google Cloud Messaging'in check device, register ve send id metodları kullanılıyor.
- 58:44Push Handler Service Oluşturma
- Push handler service için yeni bir class oluşturulup Google Cloud Service Base'den miras alınıyor.
- Abstract methodlar (on message, on register, on un register) override ediliyor.
- Servis olabilmesi için Service etiketi ekleniyor.
- 1:00:02Notification Hub ve Registration ID
- Android için notification hub oluşturuluyor.
- Static string olarak registration id oluşturuluyor.
- Constructor'a send id parametresi veriliyor.
- 1:01:23Notification Oluşturma
- Özel custom metod olarak process notification oluşturuluyor.
- Notification manager ve intent oluşturuluyor.
- Notification class kullanılarak notification oluşturuluyor ve auto cancel özelliği ekleniyor.
- 1:05:23Pop-up Gösterme
- Dialog metodu oluşturuluyor.
- Main activitynin instance'ı kullanılarak dialog gösteriliyor.
- Kendi konfigüre ettiğiniz sistemlerde notifikasyonlara zenginlik katmak mümkünken, hazır sistemlerde eliniz kolunuz bağlı kalıyor.
- 1:07:53Notification Hub Kurulumu
- Notification Hub'ı oluşturmak için context, hub name ve connection string bilgileri gerekiyor.
- Registration ID'si verilerek register işlemi gerçekleştiriliyor.
- Broadcast receiver yazarak izinleri yönetip notification hub'ı dinlemek gerekiyor.
- 1:10:06Broadcast Receiver Oluşturma
- MyBroadcastReceiver sınıfı Google Cloud Manager Broadcast Receiver base'den miras alınıyor.
- Broadcast receiver için gerekli izinler ve intent filter'lar tanımlanıyor.
- Mesaj geldiğinde onMessageReceived metodunda notification oluşturulup gösteriliyor.
- 1:15:19Uygulamanın Test Edilmesi
- Android emülatöründe uygulama çalıştırılıyor ve modifikasyon atma işlemi test ediliyor.
- Notification bildirim olarak ekranda görülebiliyor.
- Kaynak kodları GitHub'da paylaşılacak ve izleyicilerin kendi projelerine entegre edebilmesi için 45 dakika kadar süreceği belirtiliyor.
- 1:23:17Kapanış ve Ek Bilgiler
- Kaynak kodları GitHub'dan erişilebilecek ve önceki videolar da paylaşılacak.
- Zamanın Türkiye platformu topluluğu etkinlikleri takip edilebilecek.
- Yarın saat 19:00'de MIT etkinliği düzenlenecek ve Zaman Fors UI, design performance, .NET Core AI ve integration testi anlatılacak.
- 1:24:31Destek İletişimi
- Uygulama geliştirme sürecinde karşılaşılan sorunlar için yiğitözasit.com e-posta adresine mesaj atılabilir.
- Sorulara mümkün olduğunca hızlı yanıt verme çabası gösterilecektir.
- Katılım için teşekkür ediliyor ve iyi akşamlar dilekleri iletiliyor.