push-ilmoitusten toteuttaminen sovelluksessa
pari vuotta sitten alkoi syntyä palveluita, jotka toivat tyypillisten pub/sub-järjestelmien yksinkertaisuuden push-ilmoituksiin. Sen sijaan, että sinun pitäisi manuaalisesti seurata käyttäjän puhelimen tunnuksia erikseen, näiden palvelujen avulla voit yksinkertaisesti tilata käyttäjät halutuille kanaville, joista voit vastaanottaa push-ilmoituksia.
esimerkiksi, jos käyttäjä haluaa saada ilmoituksen, kun Javascript-kurssi julkaistaan Thinkster-sivustolla, voisimme tilata hänet ”javascript” – nimiselle kanavalle, jota tuhannet muutkin käyttäjät voisivat tilata. Kuitenkin, käynnistää push-ilmoituksen kaikille näille käyttäjille ottaisi vain yhden rivin koodia-yksinkertaisesti julkaista push-ilmoituksen ”javascript” kanava ja kaikki käyttäjät saavat sen. Vertaa tätä kyselyyn tietokannasta, joka sisältää käyttäjän puhelimen tunnukset, segmentointi, jotka käyttäjät haluavat ilmoituksen Javascript, ja sitten lähettää ilmoitukset erikseen kunkin niistä APNS/GCM. Yök!
on olemassa muutamia palveluita, jotka tarjoavat tämän pub / sub-toiminnallisuuden, mutta tällä hetkellä suosittelemme käyttämään Parsea push-ilmoitusten hallintaan. Tässä miksi: – se on laajalti hyväksytty ja taistelu kovettunut käytöstä yli 100,000 + sovellukset-Se on ilmainen lähettää rajaton määrä push-ilmoituksia niin kauan kuin sinulla on < 1 miljoonaa käyttäjää (!!!) rekisteröity app (sen jälkeen joudut maksamaan vaivaiset viisi senttiä tuhannelta lisäkäyttäjältä) – niiden plugins ja API ovat mielettömän helppokäyttöisiä
teemme yleiskatsauksen pariin muuhun käytettävissäsi olevaan palveluun myöhemmin tällä kurssilla, mutta yleisesti ottaen asetukset eri palveluissa ovat hyvin samanlaisia!
ympäristön valmistelu
toinen asia, joka sinun tulee tietää iOS: lle kehitettäessä, on se, että Apple ei anna sinun lähettää push-ilmoituksia emulaattorissa toimiviin sovelluksiin, vaan sinun on käytettävä oikeaa laitetta. Suosittelemme, että testaat kaikki toiminnot, joihin push-ilmoitus vetoaa emulaattorissa, ja kun sovelluksesi on rakennettu, sinun täytyy ladata sovelluksesi oikealle laitteelle varmistaaksesi, että push-ilmoitukset todella vastaanotetaan.
jäsentäminen
saadaksesi tämän projektin toimimaan sovelluksessasi, meidän on vaihdettava yksilölliset avaimesi ja tunnisteesi:
tässä vaiheessa projektisi pitäisi olla ajettavissa! On oikeastaan vain kaksi asiaa, joita sinun täytyy soittaa, kun käytät Parsea: initialize
, joka varmistaa, että tämä laite on rekisteröity push-ilmoituksille, ja subscribe
, joka tilaa tämän nimenomaisen puhelimen mille tahansa tarjoamallesi kanavalle. On myös kolmas menetelmä getInstallationId
, joka palauttaa tämän Jäsenkäyttäjän asennustunnuksen, mutta se on hyödyllinen vain, jos olet syväsukelluksessa joihinkin Parsen kehittyneempiin ominaisuuksiin.
Otetaanpa hetki aikaa tarkistaa koodi, joka yhdistää sovelluksemme jäsentää 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.'); });
tämä ei ole hirveän monimutkaista katsottavaa, mutta huomaa, että sitä ajetaan sen jälkeen, kun kaikki cordovan sovellukset on ladattu $ionicPlatform.ready
. Tämä on tärkeää, koska emme halua soittaa window.parse
menetelmiä, jos Parse plugin ei ole vielä saatavilla! Toinen huomioitava asia on, että tämä koodi ammutaan joka ikinen kerta, kun sovellus avataan. Voit soittaa initialize
ja subscribe
samalle kanavalle niin monta kertaa kuin haluat ilman, että se vaikuttaa käyttäjään, Jäsentiliisi tai APNS/GCM: ään. Itse asiassa, se on luultavasti parasta, että teet tämän sen varmistamiseksi, että käyttäjä ei vahingossa pois päältä push-ilmoitukset sovelluksen viime kerran he käyttivät sitä.
koska tämä sovellus on nyt tilattu ”SampleChannel” – Jäsenkanavalle, se tarkoittaa, että voimme nyt lähettää sille push-ilmoituksia. Kuten yllä olevasta videosta näkyy, voit tehdä tämän Parse Push dashboard määrittämällä’ SampleChannel ’ kohde. Jos kuitenkin rakennat tuotantovalmiita sovelluksia, haluat todennäköisesti lähettää push-ilmoitukset ohjelmallisesti palvelimeltasi Parsen REST API: n kautta.
push-ilmoitusten lähettäminen kanavien kautta ei ole hienoa vain käyttäjäryhmille, mutta voit käyttää sitä myös yksittäisille käyttäjille. Voit esimerkiksi ohjelmallisesti luoda ainutlaatuisia kanavia jokaiselle käyttäjällesi vain tilaamalla heidät kanavalle, jonka loppuun on liitetty käyttäjätunnus (eli window.parsePlugin.subscribe('thinkster-user-' + userID)
). Vaikka käyttäjät kirjautuvat sisään uusilla laitteilla, voit jatkaa push-ilmoitusten lähettämistä vain tietämällä heidän käyttäjätunnuksensa!