browser push notificaties
Iemand ervaring met browser notificaties?
Ik wil een notificatie sturen. Ook als je de website niet open hebt.
Wat is hiervoor de makkelijkste manier? Is hier een makkelijk framework voor?
Ik krijg veel resultaten van hele oude topics, of van diensten waarbij je via hun notificaties kunt sturen. Of github juist weer hele projecten die je eerst moet installeren. Ik zoek gewoon iets wat ik even kan toevoegen, klaar. Het is toch gewoon een stukje javascript?
Iemand een linkje of zo?
Of je moet een 3rd-party zoals OneSignal gebruiken.
@Arien, ik heb een shared hosting, dus als ik iets moet installeren houd het op. Is er dan een API voor of zo?
OneSignal is vergelijkbaar met SendPulse die ik had gevonden, maar na aanmelding krijg een platform waar ik een notificatie kan samenstellen. Ik wil zelf een bericht dat uit PHP komt doorsturen als notificatie. Op de frontpage staat dat ze een API hebben, maar kan 'm vervolgens nergens vinden.
Dan weet ik in ieder geval dat ik in deze hoek moet blijven zoeken.
edit:typo's
Gewijzigd op 23/01/2020 10:11:16 door Michael -
https://documentation.onesignal.com/docs/onesignal-api en dit is die van SendPulse: https://sendpulse.com/integrations/api/web-push
Gewijzigd op 23/01/2020 08:44:29 door - Ariën -
Toevoeging op 23/01/2020 21:00:57:
Arien, heb je ervaring met OneSignal? Ik krijg SendPulse niet juist voor elkaar, notificatie op de desktop verschijnt wel, maar vervolgens niet in de lijst met subscribers. Op de mobiel helemaal geen notificatie. Dus OneSignal geprobeerd. Hier kun je iets meer instellen dan alleen de standaard notificatie (die grappig genoeg niet wordt aanbevolen) zoals bij SendPulse. Slide prompt gekozen (die wordt aanbevolen). Op de desktop verschijnt deze netjes. Waarna acceptatie alsnog de standaard prompt van de browser komt. Vervolgens verschijnt deze inderdaad als subscriber in de dashboard.
Nu graag nog op de mobiel.
Hier verschijnt geen melding. Voor de custom-link gekozen, maar zelfs deze knop verschijnt wel op de desktop, maar niet op de mobiel. Waar kan dit aan liggen?
Ooit heb ik eens een paar testjes er mee gedaan, maar ik moet er nog wat moois mee doen om er echt een mening over te kunnen geven ;-)
Het ligt niet aan mijn mobiel, anderen zien ook geen notificatie of knop. Mogelijk moet je dus nog ergens iets aanzetten of zo.
Ik ga van het weekend eens wat uitgebreider mee spelen.
Notificatie vanuit PHP werkt ook allemaal prima. Alleen jammer dat mobiel dus nog niet werkt. Kan er weinig nuttigs over vinden.
Toevoeging op 24/01/2020 19:07:44:
De website moet wel ten alle tijden het zelfde zijn. Je kunt de notificaties maar vanaf 1 domein activeren.
Dat houd dus in als je https://domein.tld instelt, dat https://www.domein.tld en http://domein.tld niet werken (als in, vraagt niet of je notificaties wil.)
Nou wil ik dus alles doorsturen naar https://domein.tld, maar ik krijg een ERR_TOO_MANY_REDIRECTS.
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
Bron
Edit:
Opgelost. Het antwoord op 't htaccess gedeelte is hier te vinden.
Update:
Het werkt nu redelijk. Notificaties verschijnen nog niet altijd even goed, maar dan is de button (custom link) te gebruiken. Voor dit doeleinde is dat niet zo belangrijk.
De API werkt prima. Het was even zoeken hoe alles in te stellen.
Enige nadeel vind ik nog dat de bestanden worden herkend en standaard worden geblokkeerd als zijnde trackers. Dus de website moet eerste aangegeven worden als vertrouwt. Ik zie dat sites die hun eigen "worker" hebben dit probleem niet hebben. Maar ook dat is voor dit doeleinde niet zo belangrijk.
De API werkt prima. Het was even zoeken hoe alles in te stellen.
Enige nadeel vind ik nog dat de bestanden worden herkend en standaard worden geblokkeerd als zijnde trackers. Dus de website moet eerste aangegeven worden als vertrouwt. Ik zie dat sites die hun eigen "worker" hebben dit probleem niet hebben. Maar ook dat is voor dit doeleinde niet zo belangrijk.
Gewijzigd op 25/01/2020 13:19:12 door Michael -
Thnx voor je bevindingen tot nu toe. Ik heb er eerlijk gezegd nog geen tijd voor gehad om er zelf mee te spelen. Maar misschien is een eigen VPS met node.js om een worker te draaien een betere optie dan OneSignal. Maar dat betekent wel dat je zelf geloof ik wat keys bij de browserbouwers moet aanvragen, omdat elk een eigen API lijkt te gebruiken.
https://github.com/Minishlink/web-push-php-example
- server side alles PHP (dus geen node.js nodig)
- client side uiteraard een JS worker
- geen afhankelijkheid van een 3e partij (met een prijskaartje)
Ik kop 'm maar nogmaals in: - server side alles PHP (dus geen node.js nodig)
- client side uiteraard een JS worker
- geen afhankelijkheid van een 3e partij (met een prijskaartje)
Wat zijn de redenen waarom je een worker zowel serverside als clientside kan uitvoeren?
- Ariën - op 26/01/2020 18:00:49:
Thnx voor je bevindingen tot nu toe. Ik heb er eerlijk gezegd nog geen tijd voor gehad om er zelf mee te spelen. Maar misschien is een eigen VPS met node.js om een worker te draaien een betere optie dan OneSignal. Maar dat betekent wel dat je zelf geloof ik wat keys bij de browserbouwers moet aanvragen, omdat elk een eigen API lijkt te gebruiken.
Klopt, maar voor dit doel werkt t perfect zo. Je hebt er dan gelijk een duidelijk dashboard die alle gebruikers en berichten bijhoudt. Je kunt zien hoeveel er geslaagd zijn. Hoevaak erop geklikt is enz enz.
Teveel om voor dit doel zelf te maken.
@Rob ik kan me haast niet voorstellen dat dit ook offline push berichten kan sturen, wat voor mij wel belangrijk is. Ik kwam wel meer van dit soort projecten tegen maar werkt alleen bij online/actieve ontvangers.
Weet je of dat hier ook voor geldt?
Verder is het voor mij ook een redelijke black box. Ik weet ook niet precies hoe lang ze die berichten bewaren. Maar het werkt (ook offline), en dat telt ;-)
Bij OneSignal worden berichten maximaal 3 dagen bewaard en lager kun je natuurlijk instellen. Ik denk dat 3 dagen wel een limiet is van de browsers om te voorkomen dat je naar een maand ineens worden gebombardeerd.