implementarea notificărilor push în aplicația dvs.
cu câțiva ani în urmă, Serviciile au început să apară care au adus simplitatea sistemelor tipice pub/sub pentru a împinge notificările. În loc să trebuiască să urmăriți manual ID-urile de telefon ale utilizatorului dvs. individual, aceste servicii vă permit să vă abonați pur și simplu utilizatorii la canalele dorite pentru a primi notificări push de la.
de exemplu, dacă un utilizator dorește să fie notificat când un curs despre Javascript este publicat pe Thinkster, am putea să-l abonăm la un canal numit „javascript” la care ar putea fi abonați și mii de alți utilizatori. Cu toate acestea, pentru a declanșa o notificare push pentru toți acești utilizatori ar lua doar o linie de cod – pur și simplu publicați o notificare push pe canalul „javascript” și toți utilizatorii noștri o vor primi. Comparați acest lucru cu interogarea bazei de date care conține ID-urile de telefon ale utilizatorului dvs., segmentarea utilizatorilor care doresc să fie notificați despre Javascript și apoi trimiterea notificărilor individual pentru fiecare dintre ele către APN/GCM. La naiba!
există câteva servicii care oferă această funcționalitate pub/sub, dar în acest moment, vă recomandăm să utilizați Parse pentru gestionarea notificărilor push. Iată de ce: – este adoptat pe scară largă și luptă călit de Utilizare peste 100.000+ aplicații – este gratuit pentru a trimite un număr nelimitat de notificări împinge, atâta timp cât aveți < 1 milion de utilizatori (!!!(după care va trebui să plătească un measly cinci cenți la mia de utilizatori suplimentari) – plugin-uri și API-ul lor sunt incredibil de ușor de utilizat
vom face o imagine de ansamblu a unui cuplu alte servicii disponibile pentru tine mai târziu în acest curs, dar, în general, de configurare în aceste servicii diferite sunt foarte similare!
pregătirea mediului dvs.
celălalt lucru pe care trebuie să-l cunoașteți atunci când dezvoltați pentru iOS este că Apple nu vă permite să trimiteți notificări push către aplicațiile care rulează în emulator; trebuie să utilizați un dispozitiv real. Vă recomandăm să testați orice funcții pe care le va invoca Notificarea push în emulator, iar atunci când aplicația dvs. este construită, va trebui să încărcați aplicația pe un dispozitiv real pentru a vă asigura că notificările push sunt efectiv primite.
Configurarea Parse
pentru a obține acest proiect de lucru pentru aplicația dvs. în mod specific, avem nevoie pentru a schimba cheile unice și identificatori:
în acest moment, proiectul dvs. ar trebui să fie runnable! Există într-adevăr doar două lucruri pe care trebuie să le apelați atunci când utilizați Parse: initialize
, care asigură că acest dispozitiv este înregistrat pentru notificări push și subscribe
, care va abona acest telefon specific la orice canal pe care îl furnizați. Există, de asemenea, o a treia metodă getInstallationId
care va returna ID-ul de instalare al acestui utilizator Parse, dar este util doar dacă vă scufundați adânc în unele dintre caracteristicile mai avansate ale Parse.
vă permite să ia un moment rapid pentru a revizui codul de conectare aplicația noastră pentru a analiza în 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.'); });
acest lucru nu este teribil de complex de privit, dar rețineți că este rulat după ce toate aplicațiile Cordova au fost încărcate în $ionicPlatform.ready
. Acest lucru este important, deoarece nu vrem să apelăm window.parse
metode dacă pluginul Parse nu este încă disponibil pentru noi! Un alt lucru de reținut este că acest cod va fi concediat de fiecare dată când aplicația este deschisă. Puteți apela initialize
și subscribe
la același canal de câte ori doriți, fără ca acesta să afecteze utilizatorul, contul dvs. de analiză sau APN-urile/GCM. De fapt, este probabil cel mai bine să faceți acest lucru pentru a vă asigura că utilizatorul nu a dezactivat accidental notificările push pentru aplicația dvs. de la ultima utilizare.
deoarece această aplicație este acum abonat la canalul de analiză ‘SampleChannel’, asta înseamnă că putem trimite acum notificări împinge să-l. După cum se vede în videoclipul de mai sus, puteți face acest lucru prin tabloul de bord Parse Push specificând ‘SampleChannel’ ca țintă. Cu toate acestea, dacă construiți o aplicație pregătită pentru producție, probabil că veți dori să trimiteți notificări push programatic de pe serverul dvs. prin API-ul REST Parse.
trimiterea notificărilor push prin canale nu este excelentă doar pentru grupuri de utilizatori, dar puteți utiliza și dacă pentru utilizatori individuali. De exemplu, puteți crea programatic canale unice pentru fiecare dintre utilizatorii dvs. doar abonându-i la un canal cu ID-ul de utilizator atașat la sfârșitul acestuia (adică window.parsePlugin.subscribe('thinkster-user-' + userID)
). Chiar dacă utilizatorii dvs. se conectează pe dispozitive noi, puteți continua să le trimiteți notificări push doar cunoscând ID-ul lor de utilizator!