Pracuję nad aplikacją internetową. Jak mogę wysyłać powiadomienia push do użytkowników iOS, gdy pojawiają się nowe treści?
Pracuję nad aplikacją internetową. Jak mogę wysyłać powiadomienia push do użytkowników iOS, gdy pojawiają się nowe treści?
Odpowiedzi:
Mówiąc dokładniej, aby aplikacja internetowa wysyłała powiadomienia push na urządzenie mobilne, takie jak iPhone, urządzenie mobilne musi być zarejestrowane, aby otrzymywać powiadomienia push dla określonej aplikacji. Rejestracja na potrzeby powiadomień push odbywa się za pośrednictwem aplikacji natywnej i można ją wykonać tylko za pośrednictwem aplikacji natywnej. Gdy aplikacja natywna jest zarejestrowana na potrzeby powiadamiania wypychanego, może wysyłać token autoryzacyjny do serwera, którego można użyć w połączeniu z certyfikatem używanym do obsługi klienta natywnego w celu wysyłania powiadomień push na urządzenie mobilne.
Jak określono w innej odpowiedzi, jedną z opcji jest „zawinięcie” aplikacji internetowej w aplikację natywną. Oznacza to, że utworzyłbyś natywną aplikację, która w zasadzie przedstawia UIWebView (dla iPhone dev) użytkownikowi pokazując twoją aplikację internetową. Chociaż działa to prawie w taki sam sposób, jak natywna przeglądarka, można by dodać możliwość rejestracji w celu otrzymywania powiadomień wypychanych przy użyciu natywnych kontrolek.
Byłoby korzystne dla Ciebie przejrzenie dokumentu powiadomienia wypychanego firmy Apple, ponieważ zawiera on całkiem dobre informacje o działaniu wiadomości push na iPhonie.
Zobacz linki dostarczone przez Petera Hoseya:
Nie, tylko natywne aplikacje iOS obsługują powiadomienia push.
AKTUALIZACJA: strony internetowe
Mac OS X 10.9 i Safari 7 mogą teraz również wysyłać powiadomienia push, ale nadal nie dotyczy to iOS. Przeczytaj Podręcznik programowania powiadomień dla witryn internetowych . Zobacz także sesję 614 WWDC 2013 .
Chociaż nie jest to jeszcze obsługiwane w systemie iOS (od iOS 10), strony internetowe mogą wysyłać powiadomienia push do przeglądarek Firefox i Chrome (komputery stacjonarne / Android) za pomocą interfejsu Push API .
Push API jest używany w połączeniu ze starszymi Powiadomieniami sieciowymi do wyświetlania wiadomości. Zaletą jest to, że Push API pozwala na dostarczenie powiadomienia nawet wtedy, gdy użytkownik nie przegląda Twojej witryny, ponieważ są one zbudowane na Service Workerach (skryptach, które są rejestrowane przez przeglądarkę i mogą być wykonywane w tle w późniejszym czasie, nawet po użytkownik opuścił Twoją witrynę).
Proces wysyłania zgłoszenia obejmuje:
Interfejs Push API jest obecnie obsługiwany na komputerach stacjonarnych i urządzeniach z systemem Android przez przeglądarki Chrome , Firefox i Opera .
Możesz także wysyłać powiadomienia push na pulpit Apple / Safari za pomocą APN. Podejście jest podobne, ale z wieloma komplikacjami (certyfikaty programistów Apple, pakiety push, połączenie TCP niskiego poziomu z APN).
Jeśli chcesz samodzielnie wdrożyć powiadomienia push, zacznij od tych samouczków:
Jeśli szukasz rozwiązania drop-in, proponuję Pushpad , który jest usługą, którą zbudowałem.
Aktualizacja (wrzesień 2017 r.): Apple rozpoczął opracowywanie pracowników usług dla WebKit ( stan ). Ponieważ pracownicy usług są podstawową technologią dla web push, jest to duży krok naprzód.
Google Chrome obsługuje teraz standard W3C dla powiadomień push.
Możesz użyć pushover, jeśli nie chcesz tworzyć własnej aplikacji natywnej: https://pushover.net/
RZECZYWISTE .. To zupełnie nowy umysł. W najnowszej wersji OS X (Mavericks) MOŻESZ wysyłać powiadomienia push ze strony internetowej na pulpit. Ale zgodnie z dokumentacją, NIE iPhone'y:
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
Obecnie Apple planuje zezwolić na 2 rodzaje powiadomień push: powiadomienia wypychane witryny OS X i powiadomienia lokalne.
Oczywistą przeszkodą jest to, że nie będzie to działać na komputerach PC, ani nie pozwoli na wysyłanie powiadomień push na Androida.
Co więcej, w przypadku wersji tak starych jak Snow Leapord możesz wysyłać powiadomienia push ze strony internetowej, o ile ta strona jest otwarta i aktywna. Nowy system operacyjny Mavericks zezwoli na powiadomienia push, nawet jeśli strona nie jest otwarta, zakładając, że już udzieliłeś tej witrynie pozwolenia na wysyłanie powiadomień push.
Z ust Apple:
W systemie OS X w wersji 10.9 i nowszych można wysyłać powiadomienia wypychane witryny OS X z serwera internetowego bezpośrednio do użytkowników systemu OS X za pomocą usługi Apple Push Notification (APN). Nie mylić z powiadomieniami lokalnymi, powiadomienia push mogą dotrzeć do użytkowników niezależnie od tego, czy Twoja witryna lub przeglądarka internetowa są otwarte…
Aby zintegrować powiadomienia push w swojej witrynie, najpierw przedstawiasz interfejs, który pozwala użytkownikowi wyrazić zgodę na otrzymywanie powiadomień. Jeśli użytkownik wyrazi zgodę, Safari kontaktuje się z Twoją witryną, prosząc o jej dane uwierzytelniające w postaci pliku zwanego pakietem push. Pakiet push zawiera również zasoby powiadomień używane w systemie OS X oraz dane używane do komunikacji ze skonfigurowaną usługą internetową. Jeśli pakiet wypychany jest ważny, otrzymasz unikatowy identyfikator użytkownika na urządzeniu, nazywany tokenem urządzenia. Użytkownik otrzyma powiadomienie, gdy wyślesz kombinację tego tokena urządzenia i swojej wiadomości lub ładunku do APN.
Po otrzymaniu powiadomienia użytkownik może je kliknąć, aby otworzyć wybraną przez siebie stronę internetową w domyślnej przeglądarce użytkownika.
Uwaga: jeśli potrzebujesz przypomnienia sobie o APN, przeczytaj rozdział „Usługa powiadomień Apple Push Notification” w Przewodniku programowania powiadomień lokalnych i push. Chociaż dokument dotyczy powiadomień push w systemach iOS i OS X, nadal obowiązują paradygmaty usługi powiadomień push.
Nie, nie ma możliwości, aby aplikacja internetowa otrzymywała powiadomienia push. Co możesz zrobić, to zawinąć swoją aplikację internetową w natywną aplikację, która ma powiadomienia push.
W3C powołało w 2010 roku grupę roboczą do wdrażania powiadomień:
http://www.w3.org/2010/web-notifications/
Ta grupa robocza opracowuje interfejsy API, które udostępniają te mechanizmy aplikacjom internetowym - tak aby programiści sieci Web tworzący na przykład internetowe klienty poczty e-mail i komunikatory internetowe mogli ściślej zintegrować zachowanie swoich aplikacji internetowych z funkcjami powiadamiania systemów operacyjnych ich użytkowników końcowych.
W końcu wynik jest jak kiepski żart, ponieważ działa tylko wtedy, gdy dana witryna jest otwarta: http://alxgbsn.co.uk/notify.js/
Myślę, że nie zaimplementowali możliwości dodawania adresów URL typu push, aby przeglądarka mogła prosić o powiadomienia, gdy działa w tle - a przede wszystkim - jeśli wszystkie karty zostały zamknięte.
Możesz użyć HTML5 Websockets do wprowadzenia własnych wiadomości push. Z Wikipedii :
„Po stronie klienta WebSocket miał zostać wdrożony w przeglądarkach Firefox 4, Google Chrome 4, Opera 11 i Safari 5, a także w mobilnej wersji Safari w iOS 4.2. Również przeglądarka BlackBerry w OS7 obsługuje WebSockets”.
Aby to zrobić, potrzebujesz własnego serwera dostawcy, który będzie wysyłał wiadomości do klientów.
Jeśli chcesz korzystać z APN (Apple Push Notification) lub C2DM (Cloud to Device Message), musisz mieć natywną aplikację, którą należy pobrać ze sklepu internetowego.
Pushbullet jest do tego świetną alternatywą.
Jednak użytkownik musi mieć konto Pushbullet i zainstalowaną aplikację (iOS, Android) lub zainstalowaną wtyczkę (Chrome, Opera, Firefox i Windows).
Możesz skorzystać z API , tworząc aplikację Pushbullet i łącząc użytkownika aplikacji z użytkownikiem Pushbullet za pomocą oAuth2.
Korzystanie z biblioteki znacznie ułatwiłoby zadanie , w przypadku PHP mógłbym polecić ivkos / Pushbullet-for-PHP .
Sprawdź powiadomienia Xtify Web Push. http://getreactor.xtify.com/ To narzędzie umożliwia wypychanie treści na stronę internetową i kierowanie na odwiedzających, a także wyzwalanie wiadomości na podstawie zdarzeń DOM przeglądarki. Został zaprojektowany specjalnie z myślą o urządzeniach mobilnych.