wdrażanie powiadomień push w aplikacji
kilka lat temu zaczęły pojawiać się usługi, które przyniosły prostotę typowych systemów pub/sub do powiadomień push. Zamiast ręcznego śledzenia identyfikatorów telefonu użytkownika indywidualnie, usługi te pozwalają po prostu subskrybować użytkowników do żądanych kanałów, aby otrzymywać powiadomienia push.
na przykład, jeśli użytkownik chce zostać powiadomiony, gdy kurs Javascript zostanie opublikowany w Thinkster, możemy subskrybować go do kanału o nazwie „javascript”, na który mogą być subskrybowane tysiące innych użytkowników. Jednak aby wywołać powiadomienie push do wszystkich tych użytkowników, wystarczy opublikować powiadomienie push na kanale „javascript”, a wszyscy nasi użytkownicy otrzymają je. Porównaj to z odpytywaniem bazy danych zawierającej identyfikatory telefonów użytkownika, segmentowaniem użytkowników, którzy chcą otrzymywać powiadomienia o Javascript, a następnie wysyłaniem powiadomień indywidualnie dla każdego z nich do APN/GCM. Fuj!
istnieje kilka usług, które zapewniają tę funkcjonalność pub / sub,ale w tym momencie, zalecamy korzystanie z Parse do zarządzania powiadomieniami push. Oto dlaczego: – jest powszechnie przyjęty i zahartowany w walce z użyciem ponad 100 000 aplikacji-możesz wysyłać nieograniczoną liczbę powiadomień push, o ile masz < 1 milion użytkowników (!!!) zarejestrowany w aplikacji (następnie musisz zapłacić marne pięć centów za tysiąc dodatkowych użytkowników) – ich wtyczki i API są szalenie łatwe w użyciu
zrobimy przegląd kilku innych usług dostępnych dla ciebie później w tym kursie, ale ogólnie konfiguracja tych różnych usług jest bardzo podobna!
przygotowanie środowiska
inną rzeczą, o której musisz wiedzieć podczas tworzenia dla iOS, jest to, że Apple nie pozwala wysyłać powiadomień push do aplikacji uruchomionych w emulatorze; musisz użyć prawdziwego urządzenia. Zalecamy przetestowanie wszelkich funkcji, które będą wywoływane przez powiadomienia push w emulatorze, a następnie po zbudowaniu aplikacji będziesz musiał załadować aplikację na prawdziwe urządzenie, aby upewnić się, że powiadomienia push są rzeczywiście odbierane.
Konfigurowanie Parse
aby ten projekt działał specjalnie dla Twojej aplikacji, musimy zamienić twoje unikalne klucze i identyfikatory:
w tym momencie twój projekt powinien być uruchomiony! Są naprawdę tylko dwie rzeczy, które trzeba wywołać podczas korzystania z Parse: initialize
, która zapewnia, że to urządzenie jest zarejestrowane dla powiadomień push, i subscribe
, która subskrybuje ten konkretny telefon na dowolny kanał, który podasz. Istnieje również trzecia metoda getInstallationId
, która zwróci identyfikator instalacji tego użytkownika Parse, ale jest to przydatne tylko wtedy, gdy jesteś głęboko nurkowanie w niektórych bardziej zaawansowanych funkcji Parse.
poświęćmy chwilę, aby przejrzeć kod łączący naszą aplikację z analizą w www/app.js
:
window.parsePlugin.initialize(appId, clientKey, function() { console.log('Parse initialized successfully.'); window.parsePlugin.subscribe('SampleChannel', function() { console.log('Successfully subscribed to SampleChannel.'); window.parsePlugin.getInstallationId(function(id) { // update the view to show that we have the install ID console.log('Retrieved install id: ' + id); /** * Now you can construct an object and save it to your own services, or Parse, and corrilate users to parse installations * var install_data = { installation_id: id, channels: } * */ }, function(e) { console.log('Failure to retrieve install id.'); }); }, function(e) { console.log('Failed trying to subscribe to SampleChannel.'); }); }, function(e) { console.log('Failure to initialize Parse.'); });
to nie jest strasznie skomplikowane, aby spojrzeć na, ale należy pamiętać, że jest uruchamiany po wszystkie aplikacje Cordova zostały załadowane w $ionicPlatform.ready
. Jest to ważne, ponieważ nie chcemy wywoływać metod window.parse
, jeśli wtyczka Parse nie jest jeszcze dla nas dostępna! Inną rzeczą, na którą należy zwrócić uwagę, jest to, że ten kod będzie uruchamiany za każdym razem, gdy aplikacja jest otwierana. Możesz zadzwonić do initialize
i subscribe
na ten sam kanał tyle razy, ile chcesz, bez wpływu na użytkownika, Twoje konto Parse lub APNS/GCM. W rzeczywistości najlepiej jest to zrobić, aby upewnić się, że użytkownik nie przypadkowo wyłączył powiadomień push dla Twojej aplikacji od czasu jej ostatniego użycia.
ponieważ ta aplikacja jest teraz subskrybowana do kanału parsowania „SampleChannel”, oznacza to, że możemy teraz wysyłać powiadomienia push do niego. Jak widać na powyższym filmie, możesz to zrobić za pomocą pulpitu Parse Push, określając „SampleChannel” jako cel. Jeśli jednak tworzysz gotową do produkcji aplikację, prawdopodobnie będziesz chciał programowo wysyłać powiadomienia push z serwera za pośrednictwem API REST Parse.
wysyłanie powiadomień push za pośrednictwem kanałów jest nie tylko świetne dla grup użytkowników, ale można również użyć jeśli dla indywidualnych użytkowników. Na przykład możesz programowo tworzyć unikalne kanały dla każdego użytkownika, subskrybując go do kanału z dołączonym identyfikatorem użytkownika na jego końcu (tj. window.parsePlugin.subscribe('thinkster-user-' + userID)
). Nawet jeśli użytkownicy zalogują się na nowych urządzeniach, możesz nadal wysyłać im powiadomienia push, znając ich identyfikator użytkownika!