Flutter’da Firebase Notification entegrasyonu için aşağıdaki adımları takip edebilirsiniz:
- Firebase Console’da proje oluşturun ve proje ayarlarını Flutter uygulamanıza göre yapılandırın.
- Flutter uygulamanıza Firebase SDK’yı ekleyin. Bunun için,
pubspec.yaml
dosyasına Firebase paketlerini ekleyin veflutter pub get
komutunu çalıştırın.
dependencies:
firebase_core: ^1.6.0
firebase_messaging: ^11.2.5
- Firebase projenizin konfigürasyon dosyasını (
google-services.json
veyaGoogleService-Info.plist
) projenizin kök dizinine ekleyin. - Firebase Messaging entegrasyonunu yapılandırmak için aşağıdaki kodları
main.dart
dosyanızın içine ekleyin:
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
// Firebase Cloud Messaging için izinleri isteyin
FirebaseMessaging messaging = FirebaseMessaging.instance;
NotificationSettings settings = await messaging.requestPermission(
alert: true,
badge: true,
sound: true,
);
// Uygulama açıkken notification almak için bir listener oluşturun
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
RemoteNotification notification = message.notification;
AndroidNotification android = message.notification?.android;
if (notification != null && android != null) {
flutterLocalNotificationsPlugin.show(
notification.hashCode,
notification.title,
notification.body,
NotificationDetails(
android: AndroidNotificationDetails(
channel.id,
channel.name,
channel.description,
color: Colors.blue,
playSound: true,
icon: '@mipmap/ic_launcher',
),
));
}
});
// Uygulama kapalıyken notification almak için bir listener oluşturun
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print('A new onMessageOpenedApp event was published!');
});
}
// Uygulama arka planda çalışırken notification almak için bir handler oluşturun
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
print("Handling a background message: ${message.messageId}");
}
Bu adımları tamamladıktan sonra, Firebase Console’da oluşturduğunuz proje için bir test notification göndererek uygulamanızda görüntüleyebilirsiniz.