11.886 messaggi dal 09 febbraio 2002
Contributi
Grazie Morgan per il tuo articolo, prossimamente dovrò giusto aggiungere le notifiche a una PWA che sto sviluppando. A pagina 5 hai fatto vedere come inviare un messaggio alla singola subscription, ma sai se si può anche notificare un topic? Infatti, se devo notificare tutti, l'ideale sarebbe poter inviare 1 solo messaggio al topic a cui i device si erano sottoscritti.

Enjoy learning and just keep making
29 messaggi dal 07 marzo 2017
Contributi
No sfortunatamente la sottoscrizione ad un singolo topic non è possible: l'appartenenza ad un topic è una caratteristica della notifica e non alla sottoscrizione. Infatti se vogliamo sviluppare un servizio di web push notification, senza basarci sulla libreria trattata nell'articolo, dovremmo effettuare una chiamata POST il cui url sarà verosimilmente "https://<SERVICE_ENDPOINT>/<CLIENT_REGISTRATION_TOKEN>/rel/topics/<TOPIC_NAME>".
Il punto cardine delle web push notification è la capacità di identificare tramite un singolo endpoint uno specifico browser. Ipotizzando un url per topic, unico per più client, si andrebbe a perdere questa condizione.

Ciò non toglie che quello da te descritto è il classico 'caso base'. In un contesto reale oltre all'endpoint invierei anche un identificatore per applicazione e un minimo di anagrafica utente. Con questi dati salvati posso creare un metodo possa rispondere alla seguente richiesta: Voglio inviare una notifica con topic 'news' a tutti gli utenti maschili presenti nell'applicazione 'X'. Sarà la mia logica di business che recupererà tutti gli endpoint e itererà su di essi per inviare la notifica.
Modificato da Morgan Pizzini il 08 novembre 2018 23.29 -

Morgan Pizzini
11.886 messaggi dal 09 febbraio 2002
Contributi

l'appartenenza ad un topic è una caratteristica della notifica e non alla sottoscrizione

Ok, credo di aver usato un termine improprio per questo contesto. Con 'topic' (per come è inteso su Firebase/Android) intendevo dire un 'gruppo di sottoscrittori'. Vedo che la specifica li chiama "subscription sets", quindi questo è il termine appropriato. Il motivo per usare un subscription set è che rende molto più efficiente la consegna a un segmento dell'intera audience. La specifica dice infatti:

Collecting multiple push message subscriptions into a subscription
set can represent a significant efficiency improvement for push
services and user agents.

Tuttavia non ho approfondito e al momento non riesco a capire bene se un subscription set ha un proprio identificatore "virtuale", esattamente come funziona una casella email alias che poi reinoltra il messaggio agli n destinatari. Oppure se è un "canale" al quale lo user agent si collegherà in aggiunta al suo "canale" personale.


In un contesto reale oltre all'endpoint invierei anche un identificatore per applicazione e un minimo di anagrafica utente

Dipende. Se devo divulgare un'allerta meteo a tutti i sottoscrittori marchigiani non includo alcuna informazione anagrafica. Semplicemente, invio 1 notifica al subscription set delle Marche e poi saranno i singoli user agent a prelevarlo da quell'unico contenitore. Questo almeno è il comportamento desiderato, poi non so se/come è supportato anche da Lib.Net.Http.WebPush, per questo chiedevo.
Modificato da BrightSoul il 09 novembre 2018 11.23 -

Enjoy learning and just keep making
29 messaggi dal 07 marzo 2017
Contributi
Ok ci siamo allineati, no al momento la libreria non permette l'invio tramite subscription set.
Sono d'accordo con te nell'affermare che se si riuscisse a gestire un subscription set, la registrazione dell'anagrafica risulta completamente superflua.
Proverò ad informarmi nei prossimi giorni e te ne darò conto su un'eventuale possibilità.

Morgan Pizzini
11.886 messaggi dal 09 febbraio 2002
Contributi
Ok, ho letto un po' meglio... la specifica che ho trovato io (la RCF8030) descrive solo il "web push protocol", che è basato su HTTP/2 e permette di recapitare messaggi in tempo reale dal server al browser. Questo protocollo descrive anche i "subscription set" a cui facevo riferimento prima, tuttavia, quest'ultima cosa sembra che non sia ancora emersa nella Push API che invece costituisce l'insieme degli oggetti che lo sviluppatore può programmare. Essendo ancora una Draft, magari prima o poi aggiungeranno anche questa funzionalità.
Modificato da BrightSoul il 09 novembre 2018 14.30 -

Enjoy learning and just keep making
19 messaggi dal 02 febbraio 2006
Salve ragazzi, sapete per caso se la libreria trattata in questo articolo supporta, oggi, anche l'invio ad un determinato subscription set?
29 messaggi dal 07 marzo 2017
Contributi
Ciao,
l'invio ad un determinato subscription set è una cosa che la tua BL deve riuscire ad eseguire, la libreria di per se mette in comunicazione il tuo strato API/Servizi con i vari client, quindi per inviare sottoscrizioni ad un certo gruppo di client, dovresti identificarli tramite le tue logiche applicative e successivamente mandare ad ognuno di essi la notifica.

Spero di essere stato esaustivo.

Morgan Pizzini
1 messaggio dal 29 maggio 2007
Ciao a tutti! Sto provato anche io ad utilizzare la library Lib.Net.Http.WebPush per 'invio delle notifiche. Mi capita una cosa strana nel sw.js (service worker). Gli eventi di notificationclick o notificationclose non rispondono in Chrome mentre in un altro browser esempio Edge funzionano correttamente. Ho provato a ripristinare le impostazioni del browser, poi a disinstallarlo e reinstallarlo, ma il comportamento rimane lo stesso. Avete un'idea o vi siete trovati in una problematica simile?
Modificato da roberto.f76 il 20 febbraio 2021 03:06 -
Modificato da roberto.f76 il 20 febbraio 2021 03:07 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.