Özet - Push notification
- Flutter kursu
- İleri seviye
- Ders 30/69
- 4 dk
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
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
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
print(message.____);
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ığı |