Push Notification


(Inventer89) #1

Jakiś czas temu postanowiłem poobserwować te notyfikacje, widzę że coraz więcej portali je wprowadza, ale nadal nie znalazłem jakiegoś dobrego poradnika pokazującego instalację tych notyfikacji na własnym serwerze. Ktoś może miał z tym do czynienia?


(Fizyda) #2

Ja mam, a co chcesz wiedzieć? Tylko ja mam do czynienia nie od strony stron internetowych, a web extension, ale mechanizm zostaje ten sam.


(Inventer89) #3

Istnieje jakiś przyjemny do instalacji automat? Coś jak CMSy pokroju PHP-Fusion lub WordPress? Na razie obczajam https://onesignal.com.


(Fizyda) #4

Nie znam szczegółów, ale onesignal to trochę innego rodzaju powiadomienia niż o których myślałem. W przeglądarkach masz mechanizm wyświetlania powiadomień Notifications API, wykorzystujesz do tego celu po prostu JS którym wyświetlasz powiadomienia użytkownikom. Warunek jest taki że musi on mieć włączoną stronę w jakiejś zakładce i zezwolić Twojej stronie na wyświetlanie powiadomień, powiadomienia będą wyświetlane nawet jeśli przeglądarka będzie zminimalizowana.
https://www.html5rocks.com/en/tutorials/notifications/quick/

Kolejne powiadomienia możesz pobierać ajaxem, albo przy użyciu websocketów wysyłać z serwera do klienta.

W 100% nie jestem pewny i przekonany, ale onesignal wykorzystuje między innymi właśnie ten mechanizm. Na tyle co się nim interesowałem, to dla mnie dziwna usługa.


(krystian3w) #5

(Fizyda) #6

Ogarnąłem trochę temat dokładniej z ciekawości. Onesignal i pewnie reszta tego typu narzędzi wykorzystuje zwyczajnie Push API które w przeciwieństwie do Notifications API pozwala wysyłać powiadomienia nawet gdy strona nie jest uruchomiona w żadnej zakładce.


Problem w tym że API jest jak na razie eksperymentalne i dostępne tylko na desktopowych przeglądarkach:
http://caniuse.com/#search=push%20api

Mówiąc szczerze nie wiem czy jest sens wykorzystywania tego w obecnej formie, dodatkowo nie wiem po co korzystać z dodatkowych zewnętrznych serwerów innych projektów które dzisiaj są, a jutro nie wiadomo. Tym bardziej że są one najczęściej darmowe. Wydaje mi się że lepiej zaimplementować to we własnym zakresie przy użyciu własnych zasobów. Tego typu usługi są łatwe w instalacji zwłaszcza w przypadku znanych cms - onesignal ma do tego wtyczkę; mają ładny panel w którym mamy statystki oraz informacje o konkretnych subskrybentach powiadomień, pytanie tylko czy to gra warta świeczki. Należy pamiętać, że zmiana usługi która wspiera te powiadomienia to jest konieczność ponownej subskrypcji przez użytkowników - dla mnie to jest coś nieakceptowalnego, wolę mieć to na własnym serwerze.

Moim zdaniem ma to sens gdy użytkownik nie włącza powiadomień na wszystkich stronach które o to proszą, w przeciwnym razie powiadomienia po włączeniu przeglądarki wyświetlą się w gąszczu innych powiadomień, dodatkowo pewnie wszystkich użytkownik nie zdąży przejrzeć i przeczytać bo zwyczajnie znikną zastąpione przez kolejne powiadomienia.
Biorąc pod uwagę że coraz więcej stron stosuje tego typu powiadomienia dojdzie do sytuacji w której użytkownicy zaczną je ignorować, albo wyłączać bo w pewnych sytuacjach mogą przeszkadzać, a nie ma możliwości zobaczenia historii powiadomień. Dlatego nie wróżę sukcesu tego typu mechanizmom jak Push API, więcej sensu ma Notification API bo można np powiadomić użytkownika o jakiejś akcji gdy jest nią prawdopodobnie zainteresowany i czeka na nią - ma włączoną stronę w przeglądarce. Przy czym ja nie widzę zastosowania Notifiation API na stronach typu blogi, portale - generalnie serwujące treści. Bardziej ma to sens w jakiś aplikacjach - klient poczty, może nawet forum ze względu na wiadomości czy system powiadomień, jakieś aplikacje gdzie ma znaczenie dla użytkownika to jak szybko zareaguje na jakieś zmiany. Oczywiście można by wyświetlać powiadomienia o nowym wpisie na blogu gdy jest otwarty w karcie, pytanie tylko jak często zdarza się publikować wpis gdy użytkownik przegląda stronę, moim zdaniem nawet przy dużym ruchu użytkownicy czytają to czym są zainteresowani i nie zrobi im różnicy podczas czytania jakiegoś artykułu czy dostaną powiadomienie o nowym contencie czy będą musieli sprawdzić stronę główną.


(Inventer89) #7

Dzięki bardzo za wytłumaczenie - w takim razie postaram się zgłębić instalację surowych push notification.