CodeBlanks Logo Icon CodeBlanks

Özet - Push notification

getToken ve onMessage'i birleştirerek bildirim ekranı yaparsın.

Bildirim ekranı

Bir bildirim ekranı getToken ve onMessage'i birleştirir. Önce cihaz token'ı alınır ve sunucuya gönderilir, sonra onMessage akışı dinlenerek ön planda gelen bildirimler yakalanır. Bu iki adım birlikte bildirim sisteminin temelini oluşturur.

final token = await messaging.getToken();
messaging.onMessage.listen((msg) {
  print(msg.title);
});

Uygulama Bildirim akışı yaz

Messaging örneğini al. Önce getToken ile token'ı bekle ve yazdır. Sonra onMessage akışını dinle ve message.title'ı yazdır. 10 milisaniye bekle.

Başlangıç kodu

main.dart
class RemoteMessage {
  final String title;
  RemoteMessage(this.title);
}

class FirebaseMessaging {
  static final FirebaseMessaging instance = FirebaseMessaging._();
  FirebaseMessaging._();
  Future<String?> getToken() async => 'token123';
  Stream<RemoteMessage> get onMessage => Stream.value(RemoteMessage('Merhaba'));
}

void main() async {
  // token al ve yazdır
  // onMessage dinle, title yazdır
}

Örnek çözüm

main.dart
class RemoteMessage {
  final String title;
  RemoteMessage(this.title);
}

class FirebaseMessaging {
  static final FirebaseMessaging instance = FirebaseMessaging._();
  FirebaseMessaging._();
  Future<String?> getToken() async => 'token123';
  Stream<RemoteMessage> get onMessage => Stream.value(RemoteMessage('Merhaba'));
}

void main() async {
  final token = await FirebaseMessaging.instance.getToken();
  print(token);
  FirebaseMessaging.instance.onMessage.listen((message) {
    print(message.title);
  });
  await Future.delayed(Duration(milliseconds: 10));
}

Beklenen çıktı

token123
Merhaba

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bildirim ekranında token ve onMessage birlikte nasıl kullanılır?

  • Token ve onMessage aynı değişkendir
  • Sadece token yazdırılır, onMessage yok sayılır
  • Token alınır ve sunucuya gönderilir, onMessage ön planda bildirim yakalar Doğru cevap
  • onMessage token üretir

Açıklama: Token cihazı tanımlar ve sunucuya gönderilir; onMessage ise ön planda gelen bildirimleri yakalar. İkisi birlikte bildirim sistemini oluşturur.

2 title yazdır

Soru
print(message.____);
Cevap
print(message.title);

Açıklama: RemoteMessage'in title alanı bildirim başlığını taşır; data ve body farklı içeriklerdir.

3 Bildirim ekranı parçaları

Kavram Anlamı
getToken Cihaz token'ı
onMessage Ön plan bildirimi
RemoteMessage Bildirim nesnesi
message.title Bildirim başlığı

İleri seviye bölümündeki tüm dersler