CodeBlanks Logo Icon CodeBlanks

Uzak bildirim

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

App.js
export async function sendPush(token) {
  // Expo push hizmetine bir bildirim gönder
}

Örnek çözüm

App.js
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

Soru
headers: { 'Content-Type': '____' },
Cevap
headers: { 'Content-Type': 'application/json' },

Açıklama: Gövde nesne olarak gönderilir; Content-Type application/json olmalı.

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