Uzak bildirim
- React Native kursu
- İleri seviye
- Ders 4/83
- 5 dk
Uzak sunucudan bildirim almayı öğrenirsin.
Uzak bildirim
Bir uzak bildirim, sunucundan cihaza gönderilen bildirimdir. Sunucu, kayıtlı bir push token'a bildirim yükü gönderir; Apple'ın APNs hızmeti veya Google'ın FCM hizmeti bu yükü cihaza iletir. Haber, mesaj ve etkinlik bildirimleri için kullanılır.
Expo, kendi bildirim hizmetini sunar: https://exp.host/--/api/v2/push/send. Sunucun bir HTTP POST isteği gönderir; gövdeye token, başlık ve mesajı koyar. Expo hizmeti yükü APNs veya FCM'e iletir. Bu, kendi sertifikalarını yönetmeden uzak bildirim göndermenin en kolay yoludur.
İstek gövdesi
Bir Expo push isteğinin gövdesi bir nesnedir. to alanı push token'ı taşır. title ve body bildirim metnidir. data ise bildirime eklenen serbest veridir. Sunucun fetch ile bu nesneyi dizeye çevirip POST gövdesine koyar.
Örnek gövde: { to: 'ExponentPushToken[xxx]', title: 'Yeni mesaj', body: 'Merhaba!' }. İstek başlığında Content-Type: application/json olmalıdır; bu, sunucuya gövdenin bir nesne olarak okunmasını söyler. Expo hızmeti yanıtı bir nesne olarak döndürür.
Uygulama Sunucudan bildirim gönder
sendPush işlevini tamamla. fetch('https://exp.host/--/api/v2/push/send', {{ method: 'POST', headers: {{ 'Content-Type': 'application/json' }}, body: JSON.stringify({ to: token, title: 'Yeni mesaj', body: 'Merhaba!' }) }}) çağrısını await ile yap ve yanıtı döndür.
Başlangıç kodu
export async function sendPush(token) {
// Expo push hizmetine bir bildirim gönder
}Örnek çözüm
const response = await fetch('https://exp.host/--/api/v2/push/send', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ to: token, title: 'Yeni mesaj', body: 'Merhaba!' }),
});
return response;Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Expo push hızmeti hangi yöntemle çağrılır?
- Yalnızca uygulama içinden iOS API
- Yalnızca bir dosya yazmakla
- Tarayıcıdan GET isteği
- HTTP POST isteği Doğru cevap
Açıklama: Expo push hızmeti HTTP POST ile çağrılır.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
to |
Push token |
title |
Bildirim başlığı |
body |
Bildirim metni |
Content-Type |
Gövde biçimi |
3 Header değerini yaz
headers: { 'Content-Type': '____' },
headers: { 'Content-Type': 'application/json' },
Açıklama: Gövde nesne olarak gönderilir; Content-Type application/json olmalı.