Öğretici: Firebase SDK sürüm 1.0.0-preview1'i kullanarak Android cihazlara anında iletme bildirimleri gönderme
Bu öğreticide, Bir Android uygulamasına anında iletme bildirimleri göndermek için Azure Notification Hubs'ın ve Firebase Cloud Messaging (FCM) SDK'sının güncelleştirilmiş sürümünün (sürüm 1.0.0-preview1) nasıl kullanılacağı gösterilmektedir. Bu öğreticide Firebase Cloud Messaging (FCM) kullanarak anında iletme bildirimleri alan boş bir Android uygulaması oluşturacaksınız.
Önemli
Haziran 2024 itibarıyla FCM eski API'leri artık desteklenmeyecektir ve kullanımdan kaldırılacaktır. Anında iletme bildirimi hizmetinizde herhangi bir kesinti yaşanmasını önlemek için mümkün olan en kısa sürede FCM v1 protokolüne geçmeniz gerekir.
Bu öğreticinin tamamlanmış kodunu GitHub'dan indirebilirsiniz.
Bu öğreticide aşağıdaki adımlar yer almaktadır:
- Android Studio projesi oluşturma.
- Firebase Cloud Messaging’i destekleyen bir Firebase projesi oluşturma.
- Bildirim hub’ı oluşturma.
- Uygulamanızı hub'a Bağlan.
- Uygulamayı test etme.
Önkoşullar
Bu öğreticiyi tamamlamak için etkin bir Azure hesabınızın olması gerekir. Hesabınız yoksa yalnızca birkaç dakika içinde ücretsiz bir deneme hesabı oluşturabilirsiniz. Ayrıntılar için bkz. Azure Ücretsiz Deneme.
Not
Google/Firebase API'leri Azure Çin bölgelerinde desteklenmez.
Ayrıca aşağıdaki öğelere de ihtiyacınız vardır:
Android Studio projesi oluşturma
İlk adım, Android Studio'da proje oluşturmaktır:
Android Studio'yu başlatın.
Dosya'yı ve ardından Yeni'yi ve ardından Yeni Proje'yi seçin.
Projenizi seçin sayfasında Boş Etkinlik'i ve ardından İleri'yi seçin.
Projenizi yapılandırın sayfasında aşağıdakileri yapın:
- Uygulama için bir ad girin.
- Proje dosyalarının kaydedildiği konumu belirtin.
- Bitir'i seçin.
FCM’yi destekleyen bir Firebase projesi oluşturma
Firebase konsolunda oturum açın. Henüz bir tane yoksa yeni bir Firebase projesi oluşturun.
Projenizi oluşturduktan sonra Firebase’i Android uygulamanıza ekleyin’i seçin.
Android uygulamanıza Firebase ekleme sayfasında aşağıdakileri yapın:
Android paket adı için uygulamanızın build.gradle dosyasında applicationIddeğerini kopyalayın. Bu örnekte, şeklindedir
com.fabrikam.fcmtutorial1app
.Uygulamayı kaydet'i seçin.
google-services.json İndir'i seçin, dosyayı projenizin uygulama klasörüne kaydedin ve ardından İleri'yi seçin.
Firebase konsolunda projenizin dişli simgesini seçin. Sonra, Proje Ayarları’nı seçin.
google-services.json dosyasını Android Studio projenizin uygulama klasörüne indirmediyseniz, bunu bu sayfada yapabilirsiniz.
Cloud Messaging sekmesine geçin.
Sunucu anahtarını kopyalayıp daha sonra kullanmak üzere kaydedin. Hub'ınızı yapılandırmak için bu değeri kullanırsınız.
Firebase Cloud Messaging sekmesinde Sunucu anahtarıgörmüyorsanız şu adımları izleyin:
- Cloud Messaging API (Eski) Devre Dışı başlığının üç nokta menüsünü seçin.
- Google Cloud Console'da API'yi yönetme bağlantısını izleyin.
- Google Cloud Console'da Google Cloud Messaging API'sini etkinleştirmek için düğmeyi seçin.
- Birkaç dakika bekleyin.
- Firebase konsol projeniz Cloud Messaging sekmesine dönün ve sayfayı yenileyin.
- Cloud Messaging API üst bilgisinin Cloud Messaging API(Eski) Etkin olarak değiştirildiğini ve şimdi bir sunucu anahtarı gösterdiğini görün.
Bildirim hub’ını yapılandırma
Azure Portal’ında oturum açın.
Soldaki menüden Tüm hizmetler'i ve ardından Mobil bölümünde Notification Hubs'ıseçin. Hizmeti soldaki menüden SıK KULLANıLANLAR bölümüne eklemek için hizmet adının yanındaki yıldız simgesini seçin. Sık kullanılanlara Notification Hubs'ı ekledikten sonra soldaki menüden seçin.
Notification Hubs sayfasında araç çubuğunda Ekle'yi seçin.
Notification Hubs sayfasında aşağıdakileri yapın:
Bildirim Hub'ına bir ad girin.
Yeni ad alanı oluşturma bölümüne bir ad girin. Ad alanı bir veya daha fazla hub içerir.
Konum açılan listesinden bir değer seçin. Bu değer, hub'ı oluşturmak istediğiniz konumu belirtir.
Kaynak Grubu'nda var olan bir kaynak grubunu seçin veya yeni bir kaynak grubu oluşturun.
Oluştur'u belirleyin.
Bildirimler'i (zil simgesi) ve ardından Kaynağa git'i seçin. Ayrıca Notification Hubs sayfasında listeyi yenileyebilir ve hub'ınızı seçebilirsiniz.
Listeden Erişim İlkeleri'ni seçin. İki bağlantı dizesi kullanılabilir olduğunu unutmayın. Anında iletme bildirimlerini işlemek için daha sonra bunlara ihtiyacınız olacaktır.
Önemli
Uygulamanızda DefaultFullSharedAccessSignature ilkesini kullanmayın. Bu ilke yalnızca uygulama arka ucunda kullanılacaktır.
Hub için Firebase Cloud Messaging ayarlarını yapılandırma
Sol bölmedeki Ayarlar altında Google (GCM/FCM) öğesini seçin.
Daha önce kaydettiğiniz FCM projesinin sunucu anahtarını girin.
Araç çubuğunda Kaydet'i seçin.
Azure portalı hub'ın başarıyla güncelleştirildiğini belirten bir ileti görüntüler. Kaydet düğmesi devre dışı bırakıldı.
Bildirim hub'ınız artık Firebase Cloud Messaging ile çalışacak şekilde yapılandırılmıştır. Ayrıca, bir cihaza bildirim göndermek ve bildirim almak için bir uygulama kaydetmek için gereken bağlantı dizesi sahipsiniz.
Uygulamanızı bildirim hub'ına bağlama
Projeye Google Play hizmetlerini ekleme
Android Studio'da, menüde Araçlar'ı ve ardından SDK Yöneticisi'ni seçin.
Projenizde kullanılan Android SDK'sının hedef sürümünü seçin. Ardından Paket Ayrıntılarını Göster'i seçin.
Henüz yüklü değilse Google API'leri'ni seçin.
SDK Araçları sekmesine geçin. Google Play Hizmetleri'ni henüz yüklemediyseniz aşağıdaki görüntüde gösterildiği gibi Google Play Hizmetleri'ni seçin. Ardından Yüklemek için Uygula'yı seçin. SDK yolunun sonraki bir adım için olduğunu unutmayın.
Değişikliği Onayla iletişim kutusunu görürseniz Tamam'ı seçin. Bileşen yükleyicisi istenen bileşenleri yükler. Bileşenler yüklendikten sonra Son'u seçin.
Yeni Projeler için Ayarlar iletişim kutusunu kapatmak için Tamam'ı seçin.
Azure Notification Hubs kitaplıkları ekleme
Uygulamanın build.gradle dosyasına bağımlılıklar bölümüne aşağıdaki satırları ekleyin:
implementation 'com.microsoft.azure:notification-hubs-android-sdk-fcm:1.1.4' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.android.volley:volley:1.2.1'
Bağımlılıklar bölümünden sonra aşağıdaki depoyu ekleyin:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://example.io' } } }
Google Firebase desteği ekleme
Dosya henüz orada değilse dosyanın sonuna aşağıdaki eklentiyi ekleyin.
apply plugin: 'com.google.gms.google-services'
Araç çubuğunda Şimdi Eşitle'yi seçin.
Kod ekleme
Azure Notification Hubs'dan gelen iletilerin kesilmesini işleyen bir NotificationHubListener nesnesi oluşturun.
public class CustomNotificationListener implements NotificationListener { @override public void onNotificationReceived(Context context, RemoteMessage message) { /* The following notification properties are available. */ Notification notification = message.getNotification(); String title = notification.getTitle(); String body = notification.getBody(); Map<String, String> data = message.getData(); if (message != null) { Log.d(TAG, "Message Notification Title: " + title); Log.d(TAG, "Message Notification Body: " + message); } if (data != null) { for (Map.Entry<String, String> entry : data.entrySet()) { Log.d(TAG, "key, " + entry.getKey() + " value " + entry.getValue()); } } } }
OnCreate
sınıfının yöntemindeMainActivity
, etkinlik oluşturulduğunda Notification Hubs başlatma işlemini başlatmak için aşağıdaki kodu ekleyin:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NotificationHub.setListener(new CustomNotificationListener()); NotificationHub.start(this.getApplication(), "Hub Name", "Connection-String"); }
Android Studio'da, menü çubuğunda Derle'yi ve ardından Kodunuzda hata olmadığından emin olmak için Projeyi Yeniden Derle'yi seçin. ic_launcher simgesiyle ilgili bir hata alırsanız, AndroidManifest.xml dosyasından aşağıdaki deyimi kaldırın:
android:icon="@mipmap/ic_launcher"
Uygulamayı çalıştırmak için bir sanal cihazınız olduğundan emin olun. Yoksa, aşağıdaki gibi bir tane ekleyin:
Uygulamayı seçili cihazınızda çalıştırın ve hub'a başarıyla kaydedildiğini doğrulayın.
Not
Örnek kimliği hizmetinin yöntemi çağrılana
onTokenRefresh()
kadar ilk başlatma sırasında kayıt başarısız olabilir. Yenileme, bildirim hub'ına başarılı bir kayıt başlatmalıdır.
Test bildirimi gönderme
Bildirim hub'ınıza azure portalından aşağıdaki gibi anında iletme bildirimleri gönderebilirsiniz:
Azure portalında, hub'ınızın bildirim hub'ı sayfasında Sorun Giderme bölümünde Test Gönderme'yi seçin.
Platformlar'da Android'i seçin.
Gönder'i seçin. Android cihazda mobil uygulamayı çalıştırmadığınız için henüz bir bildirim görmezsiniz. Mobil uygulamayı çalıştırdıktan sonra, bildirim iletisini görmek için Gönder düğmesini yeniden seçin.
Portal sayfasının en altındaki listede işlemin sonucuna bakın.
Cihazınızda bildirim iletisini görürsünüz.
Anında iletme bildirimleri normalde Mobile Apps gibi bir arka uç hizmetinde veya uyumlu bir kitaplık kullanılarak ASP.NET gönderilir. Arka ucunuz için bir kitaplık kullanılamıyorsa, bildirim iletileri göndermek için doğrudan REST API'yi de kullanabilirsiniz.
Öykünücüde mobil uygulamayı çalıştırma
Öykünücü içinde anında iletme bildirimlerini test etmeden önce öykünücü görüntünüzün uygulamanız için seçtiğiniz Google API düzeyini desteklediğinden emin olun. Resminiz yerel Google API'lerini desteklemiyorsa SERVICE_NOT_AVAILABLE özel durumuyla karşınıza çıkabilir.
Ayrıca, Ayarlar Accounts altında çalışan öykünücünüze Google hesabınızı eklediğinizden> emin olun. Aksi takdirde, FCM'ye kaydolma girişimleriniz AUTHENTICATION_FAILED özel durumla sonuçlanabilir.
Sonraki adımlar
Bu öğreticide, hizmete kayıtlı tüm Android cihazlarına bildirim yayınlamak için Firebase Cloud Messaging'i kullandınız. Belirli cihazlara nasıl anında iletme bildirimleri gönderileceğini öğrenmek için aşağıdaki öğreticiye ilerleyin:
Aşağıda, bildirim göndermeye yönelik diğer öğreticilerin listesi yer alır:
Azure Mobile Apps: Notification Hubs ile tümleştirilmiş bir Mobile Apps arka ucundan nasıl bildirim göndereceğini gösteren bir örnek için bkz . iOS uygulamanıza Anında İletme Bildirimleri Ekleme.
ASP.NET: Kullanıcılara anında iletme bildirimleri göndermek için Notification Hubs'ı kullanın.
Azure Notification Hubs Java SDK'sı: Java'dan bildirim göndermek için bkz. Java'dan Notification Hubs kullanma. Android geliştirmesi için Eclipse'te sınanmıştır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin