Flutter'da bir FCM istemcisi kurmak için bu adımları izleyin.
Platforma özgü kurulum ve gereksinimler
Gerekli adımlardan bazıları, hedeflediğiniz platforma bağlıdır.
iOS+
Xcode'da uygulama özelliklerini etkinleştirin
Uygulamanızın mesaj almaya başlayabilmesi için Xcode projenizde push bildirimlerini ve arka plan modlarını etkinleştirmeniz gerekir.
- Xcode proje çalışma alanınızı açın (
ios/Runner.xcworkspace
). - Push bildirimlerini etkinleştirin .
- Arka planda getirme ve Uzak bildirimler arka planda yürütme modlarını etkinleştirin.
APNs kimlik doğrulama anahtarınızı yükleyin
FCM'yi kullanmadan önce APNs sertifikanızı Firebase'e yükleyin. Halihazırda bir APNs sertifikanız yoksa, Apple Developer Üye Merkezi'nde bir tane oluşturun.
- Firebase konsolundaki projenizin içinde, dişli çark simgesini seçin, Proje Ayarları'nı seçin ve ardından Bulut Mesajlaşma sekmesini seçin.
- Geliştirme sertifikanız, üretim sertifikanız veya her ikisi için Sertifika Yükle düğmesini seçin. En az bir tane gereklidir.
- Her sertifika için .p12 dosyasını seçin ve varsa şifreyi girin. Bu sertifikanın paket kimliğinin uygulamanızın paket kimliğiyle eşleştiğinden emin olun. Kaydet'i seçin.
yöntem swizzling
FCM Flutter eklentisini Apple cihazlarda kullanmak için metod swizzling'i devre dışı bırakmamalısınız. Swizzling gereklidir ve bu olmadan, FCM jeton işleme gibi temel Firebase özellikleri düzgün çalışmaz.
Android
Google Play hizmetleri
FCM istemcileri, Google Play hizmetlerinin de yüklü olduğu Android 4.4 veya üstünü çalıştıran cihazlar veya Google API'leri ile Android 4.4 çalıştıran bir öykünücü gerektirir. Android uygulamalarınızı Google Play Store aracılığıyla dağıtmakla sınırlı olmadığınızı unutmayın.
Play Hizmetleri SDK'sına dayanan uygulamalar, Google Play hizmetleri özelliklerine erişmeden önce her zaman cihazda uyumlu bir Google Play hizmetleri APK'sı olup olmadığını kontrol etmelidir. Bunu iki yerde yapmanız önerilir: ana etkinliğin onCreate()
yönteminde ve onResume()
yönteminde. onCreate()
içindeki kontrol, uygulamanın başarılı bir kontrol olmadan kullanılamayacağını garanti eder. onResume()
deki check-in, kullanıcı çalışan uygulamaya geri düğmesi gibi başka yollarla dönerse, kontrolün yine de gerçekleştirilmesini sağlar.
Cihazda Google Play hizmetlerinin uyumlu bir sürümü yoksa uygulamanız, kullanıcıların Play Store'dan Google Play hizmetlerini indirmesine izin vermek için GoogleApiAvailability.makeGooglePlayServicesAvailable()
ı çağırabilir.
ağ
Web Kimlik Bilgilerini FCM ile Yapılandırma
FCM Web arabirimi, desteklenen web push hizmetlerine istek gönderme yetkisi vermek için "Gönüllü Uygulama Sunucusu Kimliği" veya "VAPID" anahtarları adı verilen Web kimlik bilgilerini kullanır. Uygulamanızı push bildirimlerine abone olmak için Firebase projenizle bir çift anahtar ilişkilendirmeniz gerekir. Firebase konsolu aracılığıyla yeni bir anahtar çifti oluşturabilir veya mevcut anahtar çiftinizi içe aktarabilirsiniz.
Yeni bir anahtar çifti oluştur
Firebase konsolu Ayarlar bölmesinin Bulut Mesajlaşma sekmesini açın ve Web yapılandırması bölümüne gidin.
Web Push sertifikaları sekmesinde Anahtar Çifti Oluştur seçeneğine tıklayın. Konsol, anahtar çiftinin oluşturulduğuna dair bir bildirim görüntüler ve ortak anahtar dizisini ve eklenme tarihini görüntüler.
Mevcut bir anahtar çiftini içe aktarın
Halihazırda web uygulamanızla kullanmakta olduğunuz mevcut bir anahtar çiftiniz varsa, FCM API'leri aracılığıyla mevcut web uygulaması örneklerinize ulaşabilmek için bunu FCM'ye aktarabilirsiniz. Anahtarları içe aktarmak için Firebase projesine sahip seviyesinde erişiminiz olmalıdır. Mevcut genel ve özel anahtarınızı base64 URL güvenli kodlanmış biçimde içe aktarın:
Firebase konsolu Ayarlar bölmesinin Bulut Mesajlaşma sekmesini açın ve Web yapılandırması bölümüne gidin.
Web Push sertifikaları sekmesinde, "mevcut bir anahtar çiftini içe aktar" bağlantı metnini bulun ve seçin.
Bir anahtar çiftini içe aktar iletişim kutusunda, ortak ve özel anahtarlarınızı ilgili alanlara girin ve İçe Aktar seçeneğine tıklayın. Konsol, genel anahtar dizesini ve eklenen tarihi görüntüler.
Anahtarların biçimi ve bunların nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Uygulama sunucusu anahtarları .
FCM eklentisini kurun
Henüz yapmadıysanız, Flutter için Firebase eklentilerini kurun ve başlatın .
Eklentiyi yüklemek için Flutter projenizin kökünden aşağıdaki komutu çalıştırın:
flutter pub add firebase_messaging
Tamamlandığında, Flutter uygulamanızı yeniden oluşturun:
flutter run
Kayıt belirtecine erişin
Belirli bir cihaza mesaj göndermek için, o cihazın kayıt jetonunu bilmeniz gerekir. Bu öğreticiyi tamamlamak için belirteci Bildirimler konsolundaki bir alana girmeniz gerekeceğinden, aldıktan sonra belirteci kopyaladığınızdan veya güvenli bir şekilde sakladığınızdan emin olun.
Bir uygulama örneği için geçerli kayıt belirtecini almak için getToken()
öğesini çağırın. Bildirim izni verilmemişse, bu yöntem kullanıcıdan bildirim izinlerini ister. Aksi takdirde, bir hata nedeniyle bir belirteç döndürür veya geleceği reddeder.
final fcmToken = await FirebaseMessaging.instance.getToken();
Web platformlarında, VAPID ortak anahtarınızı getToken()
öğesine iletin:
final fcmToken = await FirebaseMessaging.instance.getToken(vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu");
Belirteç her güncellendiğinde bilgilendirilmek için onTokenRefresh
akışına abone olun:
FirebaseMessaging.instance.onTokenRefresh
.listen((fcmToken) {
// TODO: If necessary send token to application server.
// Note: This callback is fired at each app startup and whenever a new
// token is generated.
})
.onError((err) {
// Error getting token.
});
Otomatik başlatmayı engelle
Bir FCM kayıt belirteci oluşturulduğunda kitaplık, tanımlayıcıyı ve yapılandırma verilerini Firebase'e yükler. Belirteç otomatik oluşturmayı engellemeyi tercih ederseniz, oluşturma zamanında otomatik başlatmayı devre dışı bırakın.
iOS
iOS'ta Info.plist
bir meta veri değeri ekleyin:
FirebaseMessagingAutoInitEnabled = NO
Android
Android'de, bu meta veri değerlerini AndroidManifest.xml
dosyanıza ekleyerek Analytics toplamayı ve FCM otomatik başlatmayı devre dışı bırakın (her ikisini de devre dışı bırakmalısınız):
<meta-data
android:name="firebase_messaging_auto_init_enabled"
android:value="false" />
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="false" />
Çalışma zamanında FCM otomatik başlatmayı yeniden etkinleştirin
Belirli bir uygulama örneği için otomatik başlatmayı etkinleştirmek üzere setAutoInitEnabled()
öğesini çağırın:
await FirebaseMessaging.instance.setAutoInitEnabled(true);
Bu değer, ayarlandıktan sonra uygulama yeniden başlatmalarında devam eder.
Sonraki adımlar
İstemci uygulaması ayarlandıktan sonra, Bildirim oluşturucu ile aşağı akış mesajları göndermeye hazırsınız. Bkz. Arka planda çalışan bir uygulamaya test mesajı gönderme .
Uygulamanıza başka, daha gelişmiş davranışlar eklemek için bir sunucu uygulamasına ihtiyacınız olacak.
Ardından, uygulama istemcinizde: