Anlık bildirim aboneleri listenizi zor kazanılmış bir onay ile tek tek oluşturdunuz ve her onay gerçek bir edinme parasına mal oldu. Bu nedenle, anlık bildirim sağlayıcılarını değiştirme zamanı geldiğinde korku belirli hale gelir: eski sözleşmeyi iptal edin ve liste onunla birlikte kaybolur. Mevcut satıcınız size tam olarak bunu söyleyebilir.
Bu doğru değil ve bu kılavuz size nedenini tarayıcı düzeyinde gösteriyor. Bir web anlık bildirim aboneliği, satıcınıza değil, alan adınıza bağlıdır. Mekanizmayı gördükten sonra, her geçiş iki temiz senaryodan birine, mevcut satıcınız için yazılı soruların kısa bir listesine ve ekibinizin drama olmadan çalıştırabileceği bir haftalık kontrol listesine dönüşür.
Başlangıçta dürüst bir not. Her satıcının satış ekibi, bizimkiler de dahil olmak üzere, geçişin kolay olduğunu söyleyecektir. Çoğu orada durur. Bu gönderi bunun yerine mekanizmayı gösterir, böylece geliştiriciniz, sonunda bizimkiler de dahil olmak üzere her iddiayı doğrulayabilir.
Bir web anlık bildirim aboneliği aslında nedir
Bir ziyaretçi sitenizde "İzin Ver" düğmesine tıkladığında, tarayıcı üç bölümden oluşan bir web anlık bildirim aboneliği oluşturur:
- Alan adınız. İzin verilen tam alan adı (
https://yoursite.com). İzin, alan adına eklenmiş olarak tarayıcıda bulunur. Herhangi bir satıcıdan bahsetmez. - Bir hizmet çalışanı. Bildirimleri alan ve görüntüleyen alan adınızda barındırılan küçük bir JavaScript dosyası. Kayıtlı hizmet çalışanı teslimatı kontrol eder.
- Bir uygulama sunucusu anahtarı. Bir VAPID anahtar çiftinin genel yarısı. Tarayıcının anlık bildirim hizmeti yalnızca eşleşen özel anahtarla imzalanan gönderileri kabul eder. Bu özel anahtara sahip olan herkes aboneliğe mesaj gönderebilir. (web.dev'in anlık bildirimlere genel bakışı tam protokolü kapsar.)
Abonelik kaydının kendisi üç dizedir: bir uç nokta URL'si artı iki kısa anahtar, p256dh ve auth. Tüm varlık budur. Tüm listeniz bu kayıtların bir tablosudur.
Tek bir kural aşağıdakilerin her şeyini belirler: tarayıcılar yalnızca eşleşen VAPID özel anahtarının sahibinden gelen gönderileri kabul eder. Bu, her satıcı değişikliğinin, bu anahtarların nerede bulunduğuna bağlı olarak tam olarak iki senaryoya çözüldüğü anlamına gelir.
Senaryo A: VAPID anahtarlarınız seyahat eder, böylece ilk günden itibaren anlık bildirim abonelerini içe aktarırsınız
Senaryo A, anahtarlar sizin alabileceğiniz şekilde olduğunda geçerlidir: kurulumda kendi VAPID anahtarlarınızı veya kendi Firebase projenizi yapılandırdınız veya mevcut satıcınız anahtar çiftini devretmeyi kabul etti. Bazı ekipler bunu ilk günden itibaren kasıtlı olarak kurar; yaklaşım, satıcı kilidi olmadan web anlık bildirim uygulama kılavuzumuzda ele alınmaktadır.
Özel anahtar elinizdeyken, yeni sağlayıcınız anında anında iletme abonelerini içe aktarabilir: her uç nokta, p256dh ve auth kaydı taşınır ve ilk günden itibaren tüm mevcut listenize mesaj gönderebilirsiniz. Buna aylardır sitenizi ziyaret etmemiş pasif aboneler de dahildir. Kimse yeniden kaydolmaz. Kimse fark etmez.
Açıkça belirtmeye değer bir nüans. Senaryo A'da bile, dayanıklı geçiş, yeniden ziyaretler yoluyla tamamlanır, çünkü her abonenin sonunda yeni hizmet çalışanına ulaşması gerekir. İçe aktarılan anahtarlar, bu geçiş arka planda sessizce gerçekleşirken size ilk günden ulaşma imkanı tanır.
Senaryo B: anahtarlar geride kalır ve sessiz yeniden kaydolma devreye girer
Senaryo B yaygın varsayılanıdır: satıcı VAPID anahtarlarını oluşturdu ve saklar. Özel anahtar olmadan, dışa aktarılan kayıtlar kriptografik olarak işe yaramaz. İlk günden ulaşım sıfırdır ve eski satıcınızın uyarısı yaklaşık bir paragraf daha doğru görünür.
Gerçekte olan şudur. Bir sonraki sefer her abone sitenizi ziyaret ettiğinde, yeni sağlayıcının hizmet çalışanı devreye girer: eski kaydı iptal eder, eski aboneliği iptal eder ve ziyaretçiyi yeni anahtarlar altında yeniden abone eder. Sessizce, tek bir ziyarette, ikinci bir izin istemi olmadan.
Yeni hizmet çalışanı neden ikinci bir isteme ihtiyaç duymaz
Bildirim izni satıcıya değil, alanınıza verilmiştir. Tarayıcı alanınıza zaten güveniyor. Zaten verilmiş bir iznin altındaki hizmet çalışanını ve anahtarları değiştirmek, ziyaretçi için görünmezdir, çünkü tarayıcı bunu sitenizin kendi iç tesisatını yeniden düzenlemesi olarak ele alır. Tam olarak yaptığı şey de budur.
Geliştiricinizin bilmesi gereken iki tuzak
Tek alan, tek abonelik. Bir tarayıcı, aynı alan için iki anında iletme aboneliği tutamaz. Farklı bir anahtarla abone olmak, eski abonelik serbest bırakılana kadar başarısız olur. Bu nedenle, “her iki satıcıyı paralel çalıştır” listesi düzeyinde çalışır, asla tek bir tarayıcı içinde değil: her abone eski satıcıda veya yenisinde olur ve her yeniden ziyaret bir tane daha taşır.
Satıcı alt alan adı kayıtları asla taşınmaz. yoursite.vendor.com üzerinde toplanan abonelikler satıcının alanına aittir ve hiçbir sağlayıcı bunları taşıyamaz. Bu temel sıfırdan yeniden oluşturulur. Herhangi bir anında iletme bildirimi geçişindeki en büyük tuzak budur ve bu sefer abonelikleri kontrolünüzdeki bir alana sabitlemek için en güçlü argümandır. Birkaç marka veya bölgesel alan işletiyorsanız, aynı alan mantığı tüm mimarinizi şekillendirir; bunu çoklu alanlarda web anında iletme bölümünde ele alıyoruz.
İşte iki senaryo yan yana:
| Senaryo A: anahtarlar seyahat eder | Senaryo B: anahtarlar geride kalır | |
|---|---|---|
| Ne zaman geçerli olur | Kendi VAPID anahtarlarınız / kendi Firebase projeniz veya satıcı çifti serbest bırakır | Satıcı anahtarları oluşturur ve saklar (yaygın varsayılan) |
| 1. Günden itibaren erişim | Pasif aboneler dahil tüm listeniz | Ziyaretçiler geri dönene kadar sıfır |
| Her yeniden ziyarette | Abone sessizce yeni anahtarlara geçer | Sessiz yeniden kaydolma, ikinci bir istem yok |
| Kimi geri kazanırsınız | Herkes | Tekrar ziyaret eden herkes |
| Kimi kaybedersiniz | Kimse | Hiç geri dönmeyen aboneler (zaten ulaşılamayan gelir kaynağıydı) |
Günlük ziyaretçi kitleleri neden bir anlık bildirim geçişini en hızlı şekilde tamamlar
Senaryo B'de, devralma süresi kitlenizin geri dönüş sıklığıdır. Başka hiçbir şey değil. Bir E-ticaret abonesi aylık olarak ziyaret edebilir, bu nedenle devralma aylara yayılır. Bir bahisçi günlük olarak oranları, çizgileri ve sonuçları kontrol eder. Bir haber okuyucusu her manşet döngüsü için geri döner.
Bu geri dönüş ritmi, bahis ve haber sitelerinin anlık bildirim sağlayıcılarını değiştirmek için internetteki en iyi konumlandırılmış dikeyler olmasının nedenidir: bahis siteleri için anlık bildirimlerin bir elde tutma motoru olmasını sağlayan aynı ziyaret sıklığı, diğer sitelerin bir çeyrek süren bir geçişi bir veya iki haftaya sıkıştırır. PushEngage'daki bahis ve oyun siteleri 3,5 milyardan fazla bildirim gönderdi, bu nedenle bu devralma mekanikleri bizim için teori değil, günlük üretim gerçeğidir.
| Kitle geri dönüş deseni | Tipik aktif taban devralma |
|---|---|
| Günlük ziyaretçiler (canlı oranlar, son dakika haberleri, günlük promosyonlar) | Günler ila yaklaşık bir hafta |
| Haftada birkaç ziyaret (hafta sonu bahisçileri, düzenliler) | 1-2 hafta |
| Haftalık veya daha az (mevsimlik ziyaretçiler, unutulmuş kullanıcılar) | Eski satıcı gönderileri ve büyük etkinliklerle hızlandırılmış haftalar |
| Dormant (aylarca ziyaret yok) | Yalnızca Senaryo A kapsamında kurtarılabilir |
Bunlar, günlük ziyaretçi kitleleri için tipik desenlerdir, garanti değildir; eğriniz trafik ritminize bağlıdır ve bunu kontrol panelinde canlı olarak izleyeceksiniz. Eğriyi de bükebilirsiniz: geçişi büyük bir fikstür hafta sonundan önceki hafta planlayın ve etkinlik trafiği devralmayı sizin için yapsın. Spor kitapları bir maç günü anlık bildirim dizisi planlıyor, hangi hafta sonlarının bunlar olduğunu zaten biliyorlar.
Uygulama anlık bildirimi daha basittir: jetonlarınız her zaman sizindi
Ayrıca uygulama anlık bildirimi gönderiyorsanız, bir nefes alın. Bu yarısı yapısal olarak kolaydır, çünkü hiçbir satıcı onu rehin tutamaz.
APN sertifikaları ve anahtarları Apple Developer hesabınıza verilir. FCM projeniz Google konsolunuzda yaşar. Bir anlık bildirim satıcısı, sahip olduğunuz kimlik bilgilerinin üstünde bir katmandır, bu nedenle değiştirmek, yeni bir katmanı aynı kimlik bilgilerine işaret etmektir. Cihaz jetonları, yeniden yükleme ve ikinci izin istemi olmadan temiz bir şekilde dışa ve içe aktarılır.
İki pratik not. Birincisi, jeton dışa aktarımlarını içe aktarmadan önce yaklaşık 270 günlük aktif cihazlara göre filtreleyin, çünkü FCM, yaklaşık 270 günden sonra aktif olmayan jetonları eski olarak kabul eder. Beş yıllık bir jeton dökümü, abone sayınızı şişirir ve yalnızca aktif aboneleri sayan fiyatlandırmada kimse bundan fayda sağlamaz. İkincisi, tam SDK kapsamı, kullanıcıların uygulamanızı güncelleme hızıyla gelir, genellikle otomatik güncellemeli günlük kullanım uygulaması için bir veya iki hafta.
iOS uygulamanız şu anda Firebase üzerinden gönderim yapıyorsa, adım adım akış kendi konusudur; bu gönderiden doğaçlama yapmak yerine iOS'ta Firebase Cloud Messaging'den geçiş kılavuzumuza bakın.
Anlık bildirim sağlayıcılarınızı değiştirmeden önce, bu altı soruyu yazılı olarak sorun
Satıcı dışa aktarma ve anahtar politikaları farklılık gösterir ve değişir. Satıcı kararlarının herhangi bir tablosuna (yayınlayabileceğimiz bir tablo dahil) güvenmek yerine, kendi satıcınızın yanıtlarını resmi olarak alın. E-posta işe yarar; destek bileti daha iyi işe yarar. Aynı zamanda hedef yerleri değerlendiriyorsanız, OneSignal alternatiflerini karşılaştırırken aynı sorular kullanışlı bir filtreleme sağlar.
- Tüm web anlık bildirim abonelik kayıtlarımı — her abone için uç nokta URL'si artı
p256dhveauthanahtarları — veya yalnızca dahili kimlikleri dışa aktarabilir misiniz? Dahili kimlikler satıcının sistemi dışında anlamsızdır. - Aboneliklerimin oluşturulduğu VAPID anahtar çiftini yayınlayacak mısınız? Bu tek yanıt Senaryo A'ya karşı Senaryo B'yi belirler.
- Web anlık bildirimim kimin FCM veya Firebase projesinde çalışıyor, benim mi yoksa sizinki mi? Sizinki ise, anahtarlar zaten kendi konsolunuzda olabilir.
- Segmentleri, etiketleri, abone özniteliklerini ve engelleme listelerini ayrı ayrı dışa aktarabilir miyim? Bunlar abonelik kayıtlarıyla otomatik olarak birlikte gelmez.
- Uygulama anlık bildirim cihaz jetonlarımı dışa aktarabilir miyim ve hangi formatta?
- Daha düşük bir plana geçtiğimde veya iptal ettiğimde verilerime ne olur — otomatik silme veya saklama süresi var mı? Bazı satıcılar daha düşük katmanlarda aktif olmayan abone verilerini siler. Her zaman önce dışa aktarın.
Taşıma haftası kontrol listesi
Bu bölümü yazdırın. Sekiz adım, sırayla.
- Herhangi bir şeyi iptal etmeden veya düşürmeden önce her şeyi dışa aktarın. Abonelik kayıtları, uygulama jetonları, segmentler, etiketler, öznitelikler, engelleme listeleri. Sözleşmeniz sona erdiğinde dışa aktarma erişimi de sona erer.
- VAPID anahtarları yanıtını yazılı olarak alın. Senaryonuzu ve ilk günden itibaren anlık bildirim abonelerini içe aktarıp aktaramayacağınızı belirler.
- Engelleme listelerini önce taşıyın, sonraya bırakmayın. Bahis ve kumar operatörleri için bu pazarlık edilemez: kendi kendine men edilmiş oyuncular, tek bir kampanya yeniden başlamadan önce yeni platformda engellenmelidir, sonradan uzlaştırılmamalıdır.
- İçe aktarmadan önce uygulama jetonlarını ~270 günlük aktifliğe göre filtreleyin.
- Yeni SDK'yı ve hizmet çalışanını yükleyin ve mevcut hizmet çalışanıyla (bir PWA kabuğu, eski satıcının çalışanı) birleştirin, üzerine yazmak yerine.
- Eski satıcının hizmet çalışanı dosyasını ilk gün silmeyin. Geri dönen ziyaretçiler hala ona işaret eden kayıtlar taşır; devralma onları zarifçe kayıttan çıkarır. Dosyayı erken kaldırırsanız, taşıma yerine konsol hataları üretirsiniz. Son kaldırmada çıkarın.
- Eski satıcının paralel pencereden göndermeye devam etmesini sağlayın. Mantığa aykırı ama kritik: eski satıcının gönderdiği her bildirim bir geri dönüşü tetikler ve her geri dönüş bir abone taşımasını tamamlar. Giden satıcınız en iyi taşıma aracınız olur.
- Devralmayı günlük olarak ölçün ve platoda geçiş yapın. Yeni aktif tabanı eski aktif tabana karşı izleyin. Eğri düzleştiğinde, kaldırmayı bitirin, eski sözleşmeyi iptal edin ve dışa aktarılanları arşivleyin.
PushEngage sizin için yaptığında geçiş maliyetleri
PushEngage'da geçiş, ücretli planlarda ücretsiz olarak sunulan özel bir hizmettir. Yardım merkezi makalesi değil, bir geçiş mühendisi alırsınız: dışa aktarma eşlemesi, anahtar işleme, hizmet çalışanı birleşimi ve devralma planı ile ilgilenirler. Bu önemlidir çünkü başarısızlık modları sessiz olanlardır — eşleşmeyen yük biçimleriyle yapılan ham bir içe aktarma, teknik olarak başarılı ancak boş bildirimler sunabilir, bu da tam olarak bir uzmanın abonelerinizden önce yakaladığı sessiz başarısızlık sınıfıdır.
Kapsam belirleme görüşmesi yaklaşık on beş dakika sürer: kanal başına abone sayıları, mevcut satıcı ve yukarıdaki anahtar sorusu. Görüşmenin sonunda Senaryo A mı yoksa B mi olduğunuzu bilirsiniz ve tarihli bir planınız olur.
Anlık bildirim sağlayıcıları değiştirmeye hazırsanız, bu gönderideki altı yazılı soruyla başlayın ve mevcut satıcınızın nasıl yanıt verdiğini görün. Ardından, segmentasyon ve gelir atfı etrafında oluşturulmuş bir web anlık bildirim platformunun zaten sahip olduğunuz listeyle neler yapabileceğine bakın ve mevcut faturanızla PushEngage fiyatlandırmasını karşılaştırın. Her ücretli plan 14 günlük para iade garantisi taşır, bu nedenle anlık bildirim geçişinin kendisi kararın en düşük riskli kısmıdır.