Implementere push-varslinger i appen din
for noen år siden begynte tjenester å dukke opp som brakte enkelheten til typiske pub / sub-systemer for å presse varsler. I stedet for å manuelt spore brukerens telefon-Ider individuelt, lar disse tjenestene deg bare abonnere brukerne på ønskede kanaler for å motta push-varsler fra.
for eksempel, hvis en bruker ønsker å bli varslet når Et Kurs På Javascript er publisert På Thinkster, kan vi abonnere på en kanal kalt «javascript» som tusenvis av andre brukere også kan abonnere på. Men for å utløse et push-varsel til alle disse brukerne, vil det bare ta en linje med kode – bare publiser et push-varsel til» javascript » – kanalen, og alle våre brukere vil motta det. Sammenlign dette med å spørre databasen din som inneholder brukerens telefon-Ider, segmentere hvilke brukere som vil bli varslet Om Javascript, og deretter sende ut varsler individuelt for HVER AV DEM TIL APNS / GCM. Æsj!
Det er noen tjenester der ute som gir denne pub / sub-funksjonaliteten, men på dette tidspunktet anbefaler vi Å bruke Parse for å administrere push-varslene dine. Her er hvorfor: – Det er allment vedtatt og kamp herdet fra bruk over 100.000+ apps – det er gratis å sende et ubegrenset antall push-varslinger så lenge du har < 1 million brukere (!!!) registrert på appen din (etter at du må betale en measly fem cent per tusen flere brukere) – deres plugins og API er sinnsykt enkle å bruke
Vi vil gjøre en oversikt over et par andre tjenester som er tilgjengelige for deg senere i dette kurset, men generelt er oppsettet på tvers av disse ulike tjenestene svært like!
Klargjøre miljøet
den andre tingen du trenger å vite når du utvikler for iOS, Er At Apple ikke lar deg sende push-varsler til apper som kjører i emulatoren; du må bruke en ekte enhet. Vi anbefaler at du tester noen funksjoner som push-varslingen vil påkalle i emulatoren, og når appen din er bygget ut, må du laste appen din på en ekte enhet for å sikre at push-varslinger faktisk blir mottatt.
Sette Opp Parse
for å få dette prosjektet til å fungere for appen din spesifikt, må vi bytte dine unike nøkler og identifikatorer:
på dette punktet bør prosjektet kjøres! Det er egentlig bare to ting du må ringe når du bruker Parse: initialize
, som sikrer at denne enheten er registrert for push-varsler, og subscribe
, som vil abonnere denne bestemte telefonen til enhver kanal du oppgir. Det er også en tredje metode getInstallationId
som vil returnere installasjons-IDEN til Denne Analysebrukeren, men det er bare nyttig hvis du dykker inn i Noen Av Analysens mer avanserte funksjoner.
La oss ta en rask stund å se gjennom koden koble vår app For Å Analysere i 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.'); });
Dette er ikke veldig komplisert å se på, men vær oppmerksom på at det blir kjørt etter at Alle Cordova-appene er lastet inn $ionicPlatform.ready
. Dette er viktig, da vi ikke vil ringe window.parse
metoder hvis Parse plugin ikke er tilgjengelig for oss ennå! En annen ting å merke seg er at denne koden vil bli sparket hver gang appen åpnes. Du kan ringe initialize
og subscribe
til samme kanal så mange ganger du vil uten at det påvirker brukeren, Din Analysekonto eller APNS/GCM. Faktisk er det sannsynligvis best at du gjør dette for å sikre at brukeren ikke ved et uhell slår av push-varsler for appen din siden sist de brukte den.
siden denne appen nå abonnerer på ‘SampleChannel’ Parse channel, betyr det at vi nå kan sende push-varsler til den. Som sett i videoen ovenfor, du kan gjøre dette Gjennom Parse Push dashbordet ved å angi ‘SampleChannel’ som mål. Men hvis du bygger et produksjonsklart program, vil du sannsynligvis sende push-varsler programmatisk fra serveren din via Parse ‘ S REST API.
Sende push-varslinger via kanaler er ikke bare bra for grupper av brukere, men du kan også bruke hvis for individuelle brukere også. For eksempel kan du programmatisk opprette unike kanaler for hver enkelt av brukerne dine ved å bare abonnere dem på en kanal med bruker-ID-en lagt til på slutten av den (dvs. window.parsePlugin.subscribe('thinkster-user-' + userID)
). Selv om brukerne logger på nye enheter, kan du fortsette å sende dem push-varslinger bare ved å kjenne deres bruker-ID!