pushmeldingen implementeren in uw app
enkele jaren geleden begonnen er diensten te ontstaan die de eenvoud van typische pub/subsystemen voor pushmeldingen brachten. In plaats van handmatig de telefoon-ID ‘ s van uw gebruiker individueel te volgen, kunt u met deze services eenvoudig uw gebruikers abonneren op de gewenste kanalen om pushmeldingen te ontvangen.
bijvoorbeeld, als een gebruiker op de hoogte wil worden gesteld wanneer een cursus over Javascript wordt gepubliceerd op Thinkster, kunnen we ze abonneren op een kanaal genaamd “javascript” waarop duizenden andere gebruikers ook kunnen worden geabonneerd. Echter, om een push notificatie te activeren aan al deze gebruikers zou slechts één regel code – gewoon publiceren van een push notificatie aan de “javascript” kanaal en al onze gebruikers zullen het ontvangen. Vergelijk dit met het opvragen van uw database die de telefoon-ID ’s van uw gebruiker bevat, segmenteren welke gebruikers willen worden geïnformeerd over Javascript, en vervolgens het verzenden van meldingen individueel voor elk van hen naar APN’ s/GCM. Bah!
er zijn een paar services die deze pub / sub-functionaliteit bieden, maar op dit moment raden we het gebruik van Parse aan voor het beheren van je pushmeldingen. Hier is waarom: – het is op grote schaal aangenomen en strijd verhard van gebruik over 100.000 + apps – het is gratis om een onbeperkt aantal push-notificaties te sturen, zolang je < 1 miljoen gebruikers (!!!) geregistreerd op uw app (daarna moet u betalen een miezerige vijf cent per duizend extra gebruikers) – hun plugins en API zijn waanzinnig eenvoudig te gebruiken
we zullen een overzicht van een paar andere diensten beschikbaar voor u later in deze cursus, maar in het algemeen de setup over deze verschillende diensten zijn zeer vergelijkbaar!
uw omgeving voorbereiden
het andere wat u moet weten bij het ontwikkelen voor iOS is dat Apple u geen pushmeldingen laat sturen naar apps die in de emulator draaien; U moet een echt apparaat gebruiken. We raden u aan om de functies te testen die de push-melding in de emulator oproept, en wanneer uw app is gebouwd, moet u uw app op een echt apparaat laden om ervoor te zorgen dat push-meldingen daadwerkelijk worden ontvangen.
Parse
om dit project specifiek voor uw app te laten werken, moeten we uw unieke sleutels en identifiers omwisselen:
op dit moment zou uw project draaibaar moeten zijn! Er zijn eigenlijk slechts twee dingen die je moet bellen bij het gebruik van Parse: initialize
, die ervoor zorgt dat dit apparaat is geregistreerd voor pushmeldingen, en subscribe
, die deze specifieke telefoon zal abonneren op elk kanaal dat u aanbiedt. Er is ook een derde methode getInstallationId
die de installatie-ID van deze Parse gebruiker retourneert, maar het is alleen nuttig als je diep duikt in een aantal van de meer geavanceerde functies van Parse.
neem even de tijd om de code te bekijken die onze app verbindt om te ontleden in 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.'); });
Dit is niet erg complex om naar te kijken, maar merk op dat het wordt uitgevoerd nadat alle Cordova apps zijn geladen in $ionicPlatform.ready
. Dit is belangrijk, omdat we geen window.parse
methoden willen aanroepen als De Parse plugin nog niet beschikbaar is voor ons! Een ander ding om op te merken is dat deze code zal worden afgevuurd elke keer dat de app wordt geopend. U kunt initialize
en subscribe
zo vaak als u wilt naar hetzelfde kanaal bellen zonder dat dit van invloed is op de gebruiker, uw Parse-account of APN ‘ s/GCM. Eigenlijk, het is waarschijnlijk het beste dat je dit doet om ervoor te zorgen dat de gebruiker niet per ongeluk uitschakelen push-notificaties voor uw app sinds de laatste keer dat ze het gebruikt.
aangezien deze app nu is geabonneerd op het’ SampleChannel ‘ – Parsekanaal, betekent dit dat we er nu pushmeldingen naar kunnen sturen. Zoals te zien in de video hierboven, kunt u dit doen via het Parse Push dashboard door het specificeren van ‘SampleChannel’ als het doel. Echter, als je het bouwen van een productie-ready applicatie, zult u waarschijnlijk wilt verzenden push notificaties programmatisch vanaf uw server via Parse REST API.
het verzenden van pushmeldingen via kanalen is niet alleen geweldig voor groepen gebruikers, maar u kunt if ook voor individuele gebruikers gebruiken. U kunt bijvoorbeeld programmatisch unieke kanalen creëren voor elk van uw gebruikers door ze gewoon te abonneren op een kanaal met hun gebruikers-ID aan het einde ervan (d.w.z. window.parsePlugin.subscribe('thinkster-user-' + userID)
). Zelfs als je gebruikers zich aanmelden op nieuwe apparaten, kun je doorgaan met het sturen van pushmeldingen door hun gebruikers-ID te kennen!