Push bildirimlerinin ne olduğuna, neden kullanılabileceğine ve nasıl çalıştığına dair genel bakış.
Push bildirimi nedir?
Push mesajları, içerik üreticilerinizin dikkatine bilgi sunmanıza bile ziyaret edebilirsiniz. Bunlara push adı verilir. çünkü "gönderebileceğiniz" pek çok bilgi edindiklerinde bile etkin değil. Push'u Karşılaştır teknoloji ile Çekme teknolojinin yardımıyla bir sonraki adımdır.
Bildirimler kullanıcıya küçük bilgiler sunar. Web siteleri, kullanıcılara önemli, zamana duyarlı etkinlik veya işlemler hakkında bilgi veren bildirimler gerekiyor. Bildirimlerin görünümü ve tarzı platformlar arasında farklılık gösterir:
Push mesajları ve bildirimler birbirinden ayrı ancak birbirini tamamlayan iki teknolojidir. Push, ne zaman bile olsa sunucunuzdan kullanıcılara ileti web sitenizi aktif olarak kullanmamaktadır. Bildirimler, gönderilen bilgiler kullanıcının cihazında görüntülenir. Farklı iletişim türlerini push bildirimi olmadan bildirim gönderebilirsiniz. Bir gün proje yaşam döngüsü kullanıcıya yönelik bildirimler olmadan push mesajları (sessiz push) ancak tarayıcılar tarafından izin verilmiyor. Pratikte ise genellikle birlikte kullanılırlar. Teknik bilgisi olmayan bir kullanıcı muhtemelen aktarma arasındaki farkı anlamayacaktır. mesajları ve bildirimleri etkinleştirebilirsiniz. Bu koleksiyonda şu durumlarda push bildirimleri diyoruz. Bunlar, kullanıcılara bir mesaj ve bunu bir bildirim olarak görüntüleyin. Push mesajları dediğimizde kendi başına itme teknolojisini kastediyoruz. Bildirimler dediğimizde, bildirim teknolojisini tek başına kastediyoruz.
Push bildirimlerini neden kullanmalısınız?
- Push bildirimleri, kullanıcılar açısından zamanında, alakalı, ve kesin bilgiler sağlayın.
- Push bildirimleri, web sitesi sahipleri için kullanıcı sayısının en iyi yollarını bulmaya çalışırsınız.
Push bildirimleri nasıl çalışır?
Özet olarak push bildirimlerinin uygulanmasına ilişkin temel adımlar şunlardır:
- Kullanıcıdan push bildirimleri gönderme izni istemek için istemci mantığı ekleme ve sonra istemci tanımlayıcı bilgilerini bir veritabanında depolanması için sunucunuza gönderebilirsiniz.
- Mesajları istemci cihazlarına aktarmak için sunucu mantığı ekleniyor.
- Cihaza aktarılan mesajları almak için istemci mantığı ekleme bildirim olarak görüntüleyebilirsiniz.
Bu sayfanın geri kalanında bu adımlar daha ayrıntılı olarak açıklanmaktadır.
Push bildirimi gönderme izni alma
Öncelikle web sitenizin push bildirimleri göndermek için kullanıcının iznini alması gerekir.
Bu, Evet düğmesini tıklamak gibi bir kullanıcı hareketiyle tetiklenmelidir
Do you want to receive push notifications?
isteminin yanına. Bu onaydan sonra
Notification.requestPermission()
numaralı telefonu arayın. İşletim sistemi veya
Tarayıcı, kullanıcının cihazındaki tarayıcı üzerinde, büyük olasılıkla
kullanıcı push bildirimlerini etkinleştirmek istiyor. Bu kullanıcı arayüzü platformlar arasında farklılık gösterir.
İstemcinin push bildirimlerine abone olmasını sağlama
İzin aldıktan sonra, web sitenizin Kullanıcının push bildirimlerine abone olmasını sağlar. Bu işlem JavaScript üzerinden yapılır, Push API'sini kullanarak. Ortak bir kimlik doğrulama anahtarı sağlamanız gerekir Bu konu hakkında daha fazla bilgi edineceksiniz. Şu tarihten sonra: abonelik işlemini başlattığınızda, tarayıcı bir ağ isteğinde bulunur. aktarma hizmeti olarak bilinen bir web hizmetine gönderebilirsiniz. Bu konu hakkında daha sonra bilgi vereceğiz.
Aboneliğin başarılı olduğu varsayıldığında, tarayıcı bir
PushSubscription
nesnesini tanımlayın. Bu verileri uzun süre saklamanız gerekir.
Genellikle bu işlem, bilgileri kontrol ettiğiniz bir sunucuya göndererek yapılır.
ve sunucunun verileri bir veritabanında depolamasını sağlamak.
Push mesajı gönderme
Sunucunuz push mesajını doğrudan bir istemciye göndermez. CEVAP push hizmeti bunu yapar. Push hizmeti, web sitenizin kullanıcının tarayıcı tedarikçi firması. Bir müşteriye push bildirimi göndermek istediğinizde bir push hizmetine web hizmeti isteği gönderin. Web hizmeti, push hizmetine gönderdiğiniz istek, web push protokolü isteği olarak bilinir. İlgili içeriği oluşturmak için kullanılan web push protokolü isteği şunları içermelidir:
- Mesaja hangi verilerin dahil edileceği.
- Mesajın hangi istemciye gönderileceğini belirleyin.
- Push hizmetinin mesajı nasıl iletmesi gerektiğine ilişkin talimatlar. Örneğin, push hizmetinin iletiyi gönderme girişiminde durması gerektiğini belirtebilir (10 dakika sonra).
Normalde web push protokolü isteğini sizin kontrolünüzdeki bir sunucu üzerinden yaparsınız. Elbette, sunucunuzun ham web hizmeti isteğini oluşturması gerekmez kendisi. Bunu sizin için yapabileceğiniz kitaplıklar vardır: web-push-libs'yi kullanın. Ancak temel mekanizma, web hizmeti isteği gönderir.
Push hizmeti isteğinizi alır, kimliğini doğrular ve aktarma işlemini yönlendirir uygun istemciye gönderilir. İstemcinin tarayıcısı çevrimdışıysa push hizmeti, tarayıcı çevrimiçi olana kadar push mesajını sıraya alır.
Her tarayıcı istediği push hizmetini kullanır. Web sitesi geliştiricisi olarak siz bir kontrolü yoktur. Web push protokolü belirtildiğinden bu bir sorun değildir isteği standartlaştırılır. Diğer bir deyişle, tarayıcı sağlayıcısının hangi push hizmetini yardımcı oluyorum. Web push protokolü isteğinizin teknik özelliklere uyduğundan emin olmanız yeterlidir. Diğer hususların yanı sıra, spesifikasyonda isteğin belirli başlıkları içermesi gerekir. ve veriler baytlar halinde gönderilmelidir.
Ancak, web push protokolünü gönderdiğinizden emin olmanız gerekir.
isteği doğru push hizmetine gönderin. The PushSubscription
verileri
abonelik işlemi sırasında size döndürülen tarayıcı bu
ekleyebilirsiniz. PushSubscription
nesnesi şuna benzer:
{
"endpoint": "https://fcm.googleapis.com/fcm/send/c1KrmpTuRm…",
"expirationTime": null,
"keys": {
"p256dh": "BGyyVt9FFV…",
"auth": "R9sidzkcdf…"
}
}
endpoint
'nin alan adı aslında push hizmetidir.
endpoint
, push hizmetinin belirlenmesine yardımcı olan istemci tanımlayıcısı bilgisidir
istemciyi tam olarak hangi istemciye aktaracağınızı belirleyin.
keys
, şifreleme için kullanılır. Bu konu, bir sonraki bölümde açıklanmıştır.
Push mesajını şifreleme
Push hizmetine gönderdiğiniz veriler şifrelenmiş olmalıdır. Bu durum,
push hizmetinin istemciye gönderdiğiniz verileri görüntülemesini engellemesine olanak tanır.
Hangi push hizmetinin kullanılacağına tarayıcı tedarikçisinin karar verdiğini ve
push hizmeti teorik olarak güvenli olmayabilir. Sunucunuz,
web push protokolünü şifrelemek için PushSubscription
içinde sağlanan keys
kabul edersiniz.
Web push protokolü isteklerinizi imzalama
Push hizmeti, başkalarının yardımcı olur. Teknik olarak bunu yapmanız gerekmez fakat Chrome için bunu gerektirir. Firefox'ta isteğe bağlıdır. Diğer tarayıcılarda gerekebilir daha avantajlı bir konumda olursunuz.
Bu iş akışı, sizin için benzersiz bir özel anahtar ve ortak anahtar içerir. bir uygulamadır. Kimlik doğrulama süreci yaklaşık olarak şu şekilde çalışır:
- Özel ve ortak anahtarı tek seferlik bir görev olarak oluşturursunuz. Kombinasyon genel anahtarın ortak ve gizli anahtarı uygulama sunucusu anahtarları hakkında daha fazla bilgi edinin. Bunları VAPID olarak da görebilirsiniz. tuşlar. VAPID bu kimlik doğrulama işlemini tanımlayan spesifikasyon.
- Bir istemciyi JavaScript kodunuzdan push bildirimleri almak için abone olduğunuzda
herkese açık anahtarınızı sağlar. Push hizmeti
endpoint
oluşturduğunda ise sağlanan ortak anahtarıendpoint
ile ilişkilendirir. - Web push protokolü isteği gönderdiğinizde bazı JSON bilgilerini imzalarsınız özel anahtarınızla değiştirin.
- Push hizmeti, Web push protokolü isteğinizi aldığında depolanan ortak anahtarı kullanın. İmza geçerliyse push hizmeti, isteğin eşleşen özel anahtar var.
Push mesajının teslimini özelleştirme
Web push protokolü istek spesifikasyonu da push hizmetinin istemciye push mesajı göndermeyi deneme şeklini özelleştirebilirsiniz. Örneğin, şunları özelleştirebilirsiniz:
- Bir iletinin Geçerlilik Süresi (TTL); push hizmetinin ne kadar süreyle tamamlanması gerektiğini tanımlar. bir mesaj iletmeyi deneyin.
- Mesajın aciliyeti; push hizmetinin verileri koruduğu durumlarda faydalıdır. müşterinin pil ömrünü uzatır.
- Aynı konudaki tüm bekleyen mesajların yerine geçen mesaj konusu en son iletiyle birlikte.
Aktarılan mesajları bildirim olarak al ve görüntüle
Web push protokolü isteğini push hizmetine göndermenizin ardından push hizmeti, isteğiniz, aşağıdaki etkinliklerden biri gerçekleşene kadar sıraya alındı:
- İstemci çevrimiçi olur ve push hizmeti push mesajını iletir.
- İletinin süresi dolar.
İstemci tarayıcısı aktarılan bir iletiyi aldığında push iletisinin şifresini çözer
verileri ve hizmetinize bir push
etkinliği gönderir
çalışanı olarak tanımlar. Hizmet çalışanı
web siteniz hazır olsa bile arka planda çalışabilen JavaScript kodu
açılış sayfası veya tarayıcı kapalıdır. Hizmet çalışanınızın push
etkinliğinde
bilgileri görüntülemek için ServiceWorkerRegistration.showNotification()
işlevini çağırdığınız işleyici
bildirim olarak alır.
Yakında gidilecek yerler
- Web Push Bildirimine Genel Bakış
- Push'un İşleyiş Şekli
- Kullanıcıya abone olma
- Kullanıcı deneyimine izin verme
- Web Push Kitaplıklarıyla İleti Gönderme
- Web Push Protokolü
- Push Etkinliklerini Yönetme
- Bildirim Görüntüleme
- Bildirim Davranışı
- Yaygın Bildirim Kalıpları
- Push Bildirimleri ile ilgili SSS
- Yaygın Sorunlar ve Hata Bildirme