Push bildirimleri, kullanıcılarınızı uygulamanıza geri çekmenin en etkili yollarından biri. Bir kampanya duyurusu, yeni mesaj bildirimi ya da sipariş güncellemesi olsun; doğru zamanda gönderilen bir bildirim, kullanıcı etkileşimini ciddi şekilde artırır. Bu yazıda Flutter uygulamanıza Firebase Cloud Messaging (FCM) ile push bildirimi entegrasyonunu adım adım anlatacağız.
Neden Firebase Cloud Messaging?
Flutter dünyasında push bildirimi denince akla ilk gelen çözüm FCM'dir. Ücretsiz olması, hem Android hem iOS desteği sunması ve Flutter ekosistemiyle resmi entegrasyonunun bulunması onu öne çıkarır. Üstelik Google altyapısını kullandığı için yüksek teslimat oranlarına sahiptir.
1. Firebase Projesini Hazırlama
İlk olarak Firebase Console üzerinden bir proje oluşturun. Ardından uygulamanızı bağlamak için en pratik yöntem flutterfire CLI aracını kullanmaktır:
- Firebase CLI'yi kurun ve
firebase loginile giriş yapın dart pub global activate flutterfire_clikomutunu çalıştırın- Proje dizininde
flutterfire configurekomutunu çalıştırın
Bu işlem sonunda projenize otomatik olarak firebase_options.dart dosyası eklenir.
2. Gerekli Paketleri Ekleme
pubspec.yaml dosyanıza aşağıdaki bağımlılıkları ekleyin:
firebase_core— Firebase'in temel başlatma paketifirebase_messaging— Push bildirim işlemleri içinflutter_local_notifications— Uygulama açıkken bildirim göstermek için
Ardından flutter pub get komutunu çalıştırmayı unutmayın.
3. Firebase'i Başlatma
main fonksiyonunuzda Firebase'i başlatmanız gerekir:
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(MyApp()); }
4. İzin İsteme ve Token Alma
Özellikle iOS ve Android 13+ için kullanıcıdan bildirim izni almanız gerekir. FCM token'ı ise her cihazı benzersiz şekilde tanımlar ve bildirimleri hedeflemek için kullanılır:
final fcm = FirebaseMessaging.instance; await fcm.requestPermission(); final token = await fcm.getToken(); print('FCM Token: $token');
Bu token'ı kendi sunucunuzda saklayarak ilgili kullanıcıya özel bildirim gönderebilirsiniz.
5. Bildirimleri Dinleme
Uygulamanın hangi durumda olduğuna göre bildirimleri farklı şekillerde yakalarsınız:
Uygulama Açıkken (Foreground)
FirebaseMessaging.onMessage.listen((message) { print(message.notification?.title); });
Önemli bir detay: Uygulama açıkken FCM otomatik olarak bildirim göstermez. Bu yüzden flutter_local_notifications ile bildirimi siz göstermelisiniz.
Bildirime Tıklandığında
Kullanıcı bildirime tıklayıp uygulamayı açtığında yönlendirme yapmak için:
FirebaseMessaging.onMessageOpenedApp.listen((message) { // İlgili sayfaya yönlendir });
Arka Planda (Background)
Uygulama kapalıyken gelen mesajları işlemek için top-level bir fonksiyon tanımlanır:
@pragma('vm:entry-point') Future<void> bgHandler(RemoteMessage message) async { print('Arka plan mesajı: ${message.messageId}'); }
Bu fonksiyonu FirebaseMessaging.onBackgroundMessage(bgHandler); ile kaydedin.
6. iOS İçin Ek Ayarlar
iOS tarafında biraz daha fazla yapılandırma gerekir:
- Apple Developer hesabınızda APNs Authentication Key oluşturup Firebase'e yükleyin
- Xcode'da Push Notifications ve Background Modes yeteneklerini aktif edin
- Gerçek bir cihaz kullanın; simülatörlerde push bildirimi sınırlıdır
Test Etme
Firebase Console üzerindeki Cloud Messaging bölümünden test bildirimi gönderebilirsiniz. Cihazınızın FCM token'ını girerek tek bir cihaza özel mesaj denemesi yapmanız mümkün.
Sonuç
Flutter ile push bildirimi entegrasyonu, FCM sayesinde oldukça yönetilebilir bir süreç. Doğru izinler, token yönetimi ve farklı uygulama durumlarının ele alınmasıyla güçlü bir bildirim altyapısı kurabilirsiniz. Projelerinizde push bildirim mimarisi kurarken profesyonel destek isterseniz Asil Tech Soft ekibi olarak yanınızdayız.
