Flutter'da FCM istemcisi ayarlamak için aşağıdaki adımları uygulayın.
Platforma özel kurulum ve gereksinimler
Gerekli adımların bazıları, hedeflediğiniz platforma göre değişir.
iOS ve üzeri
Xcode'da uygulama özelliklerini etkinleştirme
Uygulamanızın mesaj almaya başlayabilmesi için push bildirimlerini etkinleştirmeniz gerekir arka plan modlarını kullanabilirsiniz.
- Xcode proje çalışma alanınızı (
ios/Runner.xcworkspace
) açın. - Push bildirimlerini etkinleştirin.
- Arka planda getirme ve Uzaktan bildirimler'i etkinleştirin. arka plan yürütme modları hakkında daha fazla bilgi edinin.
APNs kimlik doğrulama anahtarınızı yükleyin
FCM'yi kullanmadan önce APNs sertifikanızı Firebase'e yükleyin. Şunu yapmazsanız: bir APNs sertifikasına sahipseniz, Apple Geliştirici Üye Merkezi.
- Firebase konsolunda projenizin içindeki dişli simgesini ve ardından Proje Ayarları'nı tıklayın ve Cloud Messaging sekmesini seçin.
- Sertifikanız için Sertifika Yükle'yi seçin. üretim sertifikanızı veya her ikisini birden sağlamanız gerekir. En az biri gereklidir.
- Her sertifika için .p12 dosyasını seçin ve herhangi. Bu sertifikanın paket kimliğinin, şu paketin kimliği ile eşleştiğinden emin olun: en iyi şekilde yararlanabilirsiniz. Kaydet'i seçin.
Yöntem değiştirme
FCM Flutter eklentisini Apple cihazlarda kullanmak için yöntemi devre dışı bırakmamalısınız. hızlandırıyor. Kaydırma zorunludur; bunlar olmadan, FCM jeton işleme düzgün şekilde çalışmaz.
Android
Google Play hizmetleri
FCM istemcileri, Android 4.4 veya sonraki sürümleri çalıştıran ve aynı zamanda Google Yüklü Play hizmetleri veya Google API'leri içeren Android 4.4 çalıştıran bir emülatör. Android uygulamalarınızı Google Play üzerinden dağıtmanın sınırlı olmadığını unutmayın Mağaza.
Play Hizmetleri SDK'sını kullanan uygulamalar, cihazda her zaman
Google Play hizmetlerine erişmeden önce uyumlu Google Play hizmetleri APK'sı
özellikleri. Bunu iki yerde yapmanız önerilir: ana etkinliğin
onCreate()
yöntemini ve onResume()
yöntemini kullanır. Giriş saati: onCreate()
Uygulamanın başarılı bir kontrol olmadan kullanılamamasını sağlar. Giriş
onResume()
, kullanıcının çalışan uygulamaya geri dönmesi
geri düğmesi gibi başka yöntemlerle de kontrol yapılır.
Cihazda Google Play Hizmetleri'nin uyumlu bir sürümü yoksa
uygulaması, kullanıcıların Play Store'dan Google Play hizmetlerini indirmesine olanak tanımak için GoogleApiAvailability.makeGooglePlayServicesAvailable()
numaralı telefonu arayabilir.
Web
Web Kimlik Bilgilerini FCM ile yapılandırma
FCM Web arayüzü, "Gönüllü Uygulama Sunucusu" adı verilen Web kimlik bilgilerini kullanır Tanımlama," veya "VAPID" anahtarları, desteklenen web'e gönderme isteklerini yetkilendirmek için push hizmetleri. Uygulamanızı push bildirimlerine abone olmak için şunları yapmanız gerekir: bir anahtar çiftini Firebase projenizle ilişkilendirin. İsterseniz yeni anahtar çifti oluşturabilir veya mevcut anahtar çiftinizi Firebase konsolu üzerinden içe aktarabilirsiniz.
Yeni bir anahtar çifti oluştur
Cloud Messaging'i açın Firebase konsolunun Ayarlar bölmesindeki sekmeye gidip aşağı kaydırarak Web yapılandırması bölümüne bakın.
Web Push sertifikaları sekmesinde Anahtar Çifti Oluştur'u tıklayın. İlgili içeriği oluşturmak için kullanılan konsolunda, anahtar çiftinin oluşturulduğuna dair bir bildirim ve ortak anahtar dizesi ve eklenme tarihi.
Mevcut bir anahtar çiftini içe aktarma
Web uygulamanızla halihazırda kullandığınız bir anahtar çiftiniz varsa FCM'ye aktarabilir ve böylece mevcut web uygulamanıza erişebilirsiniz örnekler. Anahtarları içe aktarmak için Firebase projesine sahip düzeyinde erişim. Mevcut herkese açık verilerinizi içe aktarın ve base64 URL güvenli kodlanmış biçimde özel anahtar:
Cloud Messaging'i açın Firebase konsolunun Ayarlar bölmesindeki sekmeye gidip aşağı kaydırarak Web yapılandırması bölümüne bakın.
Web Push sertifikaları sekmesinde "İçe aktar" bağlantı metnini bulup seçin mevcut bir anahtar çifti" olarak değiştirin.
Bir anahtar çiftini içe aktarın iletişim kutusunda, ortak ve özel anahtarlarınızı ilgili alanları doldurun ve İçe Aktar'ı tıklayın. Konsolda ortak anahtar dizesi ve eklenme tarihi.
Anahtarların biçimi ve nasıl oluşturulacağı hakkında daha fazla bilgi için Uygulama sunucusu anahtarları başlıklı makaleyi inceleyin.
FCM eklentisini yükleyin
Flutter için Firebase eklentilerini yükleme ve başlatma (ve bunu yapmadıysanız).
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak girin:
flutter pub add firebase_messaging
İşlem tamamlandığında Flutter uygulamanızı yeniden derleyin:
flutter run
Kayıt jetonuna erişme
Belirli bir cihaza mesaj göndermek için o cihazın kayıt jetonu. Çünkü jetonu alan adındaki bir alana girmeniz Bu eğiticiyi tamamlamak için Notifications Console'a gidin. Jetonu kopyaladığınızdan emin olun veya güvenli bir şekilde saklamanızı öneririz.
Bir uygulama örneği için geçerli kayıt jetonunu almak için
getToken()
Bildirim izni verilmediyse bu yöntem
kullanıcıdan bildirim izni isteyebilir. Aksi takdirde,
değerini bir hata nedeniyle reddeder.
// You may set the permission requests to "provisional" which allows the user to choose what type
// of notifications they would like to receive once the user receives a notification.
final notificationSettings = await FirebaseMessaging.instance.requestPermission(provisional: true);
// For apple platforms, ensure the APNS token is available before making any FCM plugin API calls
final apnsToken = await FirebaseMessaging.instance.getAPNSToken();
if (apnsToken != null) {
// APNS token is available, make FCM plugin API requests...
}
Web platformlarında, VAPID ortak anahtarınızı getToken()
kullanıcısına iletin:
final fcmToken = await FirebaseMessaging.instance.getToken(vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu");
Jeton güncellendiğinde bildirim almak için onTokenRefresh
abonesi olun
akış:
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
FCM kayıt jetonu oluşturulduğunda kitaplık, Firebase'e aktarmanızı sağlar. E-posta gönderilmesini jeton otomatik oluşturma, derleme sırasında otomatik başlatmayı devre dışı bırakma.
iOS
iOS'te, Info.plist
öğenize meta veri değeri ekleyin:
FirebaseMessagingAutoInitEnabled = NO
Android
Android'de, Analytics toplamayı ve FCM otomatik başlatma özelliğini devre dışı bırakın (
AndroidManifest.xml
içine meta veri değerlerini ekleyerek her ikisini de devre dışı bırakın:
<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şlatmasını yeniden etkinleştir
Belirli bir uygulama örneğinde otomatik başlatmayı etkinleştirmek için setAutoInitEnabled()
komutunu çağırın:
await FirebaseMessaging.instance.setAutoInitEnabled(true);
Bu değer, ayarlandıktan sonra uygulamanın yeniden başlatılmasında da aynı kalır.
Sonraki adımlar
İstemci uygulaması kurulduktan sonra satışa dönük içeren Bildirim oluşturucu. Arka plandaki uygulamaya test mesajı gönderme başlıklı makaleyi inceleyin.
Uygulamanıza başka, daha gelişmiş davranışlar eklemek için sunucu uygulaması.
Ardından uygulama istemcinizde: