CodeBlanks Logo Icon CodeBlanks

Bildirim olayları

Bildirim tıklama ve olaylarını öğrenirsin.

Bildirim olayları

Bildirim geldiğinde veya kullanıcı bildirime dokunduğunda uygulaman olay alır. Notifications.addNotificationReceivedListener bildirim uygulama açıkken geldiğinde çağrılır. Notifications.addNotificationResponseReceivedListener ise kullanıcı bildirime dokunduğunda çağrılır.

Bu dinleyiciler useEffect içinde kurulur ve bileşen kapanınca kaldırılır. Her dinleyici bir işlev alır; bu işlev bildirim veya yanıt nesnesini parametre olarak alır. Yanıt nesnesinin notification.request.content.data özelliği bildirime eklenen serbest veriyi taşır.

useEffect ve temizlik

Dinleyicileri useEffect içinde kurarsın. Bu hook, bileşen ekrana geldiğinde bir kez çağrılır. İçinde dinleyicileri ekler, dışında da bir temizlik işlevi döndürürsün. Temizlik işlevi bileşen kapanınca dinleyicileri kaldırır; böylece aynı bildirime iki kez yanıt verilmez.

Örnek kalıp: useEffect(() => {{ const sub = Notifications.addNotificationReceivedListener(handle); return () => sub.remove(); }}, []). Boş bağımlılık dizisi [] bu hook'un yalnızca bir kez çağrılmasını sağlar. sub.remove() dinleyiciyi temizler.

Uygulama Dinleyicileri kur

Boş useEffect'i tamamla. Notifications.addNotificationReceivedListener ile bir dinleyici kur; işlev notification.request.content.data'yı console.log ile yazsın. Dinleyiciyi const sub = ... değişkenine ata. return () => sub.remove(); ile temizle. Bağımlılık dizisi [] olsun.

Başlangıç kodu

App.js
import React from 'react';
import * as Notifications from 'expo-notifications';

export function useNotification() {
  React.useEffect(() => {
    // dinleyiciyi kur ve temizlik döndür
  }, []);
}

Örnek çözüm

App.js
const sub = Notifications.addNotificationReceivedListener((notification) => {
  console.log(notification.request.content.data);
});
return () => sub.remove();

Soru ve cevaplar

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

1 Dinleyici işlevini yaz

Soru
Notifications.addNotification____Listener((notification) => { console.log(notification); });
Cevap
Notifications.addNotificationReceivedListener((notification) => { console.log(notification); });

Açıklama: Received bildirim geldiğinde çağrılır.

2 Olayı rolüne eşle

Kavram Anlamı
received Bildirim geldiğinde
response Kullanıcı dokunduğunda
useEffect Kurulum yeri
sub.remove() Temizlik

3 response dinleyicisi ne zaman çağrılır?

  • Kullanıcı bildirime dokunduğunda Doğru cevap
  • Uygulama kapandığında
  • Bildirim cihaza ilk ulaştığında
  • Yalnızca uygulama açılırken

Açıklama: response dinleyicisi kullanıcı dokunduğunda çağrılır.

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