Attribuzione delle notifiche native per le app web su macOS

Marijn Kruisselbrink
Marijn Kruisselbrink
Dan Murphy
Dan Murphy

Data di pubblicazione: 16 luglio 2026

A partire da Chrome 152, le app web progressive (PWA) installate su macOS avranno le notifiche attribuite in modo nativo alla PWA stessa, anziché a Google Chrome.

Si tratta di un miglioramento significativo dell'esperienza utente, che rende le app web più integrate in macOS. Tuttavia, introduce anche modifiche importanti al modo in cui vengono gestite le autorizzazioni di notifica e al comportamento di determinate API di notifica.

Che cosa cambierà?

In precedenza, tutte le notifiche inviate dalle PWA venivano attribuite a Chrome a livello di sistema operativo. Nel Centro notifiche di macOS, venivano visualizzate nella sezione "Google Chrome" e utilizzavano l'icona di Chrome. Per disattivare le notifiche, gli utenti dovevano utilizzare i controlli all'interno di Chrome, non le Impostazioni di sistema di macOS.

Con l'attribuzione delle notifiche, quando un sito viene installato come PWA, macOS lo tratta come un'applicazione distinta per le notifiche. Ciò vale sia per le PWA appena installate sia per quelle che l'utente aveva installato in precedenza.

Vantaggi:

  • Identità del brand: le notifiche mostrano il nome e l'icona della PWA nel Centro notifiche e nei banner di macOS.
  • Controlli utente noti: i controlli delle notifiche per queste app ora vengono visualizzati esattamente dove gli utenti si aspettano: nelle Impostazioni di sistema di macOS (non in Chrome).
  • Controllo granulare: gli utenti possono gestire le impostazioni delle notifiche delle singole app PWA (ad esempio, stili di avviso, comportamento della schermata di blocco).
  • Modalità Niente distrazioni: le PWA possono essere consentite o silenziate singolarmente nei profili della modalità Non disturbare di macOS.
Attribuito a "Google Chrome" con l'icona di Chrome.
Prima: attribuito a "Google Chrome" con l'icona di Chrome.
Attribuito a "Nome PWA" con l'icona personalizzata della PWA.
Dopo: attribuito a "Nome PWA" con l'icona personalizzata della PWA.

Il nuovo flusso di autorizzazioni

Poiché macOS ora tratta la PWA come un'app separata, la PWA deve ottenere l'autorizzazione per le notifiche a livello di sistema operativo prima di poter visualizzare le notifiche. Questa modifica il flusso delle autorizzazioni per gli utenti nuovi ed esistenti.

Nuovi utenti (prima richiesta di autorizzazione)

Se un utente installa una PWA e il sito richiede l'autorizzazione per le notifiche dopo l'installazione:

  1. Chrome ignorerà la richiesta di autorizzazione a livello di browser (il menu a discesa della barra degli indirizzi).
  2. Chrome attiverà immediatamente la richiesta di autorizzazione di sistema di macOS per la PWA.
La finestra di dialogo di autorizzazione di sistema di macOS: Nome PWA vorrebbe inviarti notifiche. Le notifiche possono includere avvisi, suoni e badge sulle icone, con i pulsanti Non consentire e Consenti.
La finestra di dialogo delle autorizzazioni di sistema macOS per la PWA installata.
Diagramma di flusso che mostra la procedura di autorizzazione PWA. Inizia con "PWA Requests Permission" (PWA richiede l'autorizzazione), che porta alla decisione "Installed?" (Installata?). Se la risposta è "Sì", la richiesta di Chrome viene ignorata e viene visualizzata la richiesta di sistema di macOS. Se la risposta è "No", viene visualizzato il prompt del browser Chrome, l'utente installa la PWA e poi viene visualizzato il prompt di sistema macOS.
Diagramma di flusso del processo di autorizzazione alle notifiche PWA.

Utenti esistenti (percorso di migrazione)

Se un utente ha già concesso l'autorizzazione alle notifiche al tuo sito web in Chrome e poi installa (o ha già installato) la PWA, deve comunque concedere l'autorizzazione a livello di sistema operativo alla PWA.

Per rendere questa transizione il più agevole possibile:

  1. La prima volta che la PWA tenta di inviare una notifica, macOS visualizza la richiesta di autorizzazione del sistema.
  2. Se l'utente approva, le notifiche continueranno a funzionare senza problemi.
  3. Se l'utente ignora o chiude questo prompt, la PWA mostrerà un indicatore in-app (in genere nella barra del titolo o nel menu dell'app) che lo guida alle impostazioni di sistema di macOS per attivare manualmente le autorizzazioni.
Prompt per la PWA installata che informa l'utente che le notifiche sono disattivate in Impostazioni di Sistema del Mac con un pulsante per accedervi.
Prompt in-app nella PWA che guida l'utente alle impostazioni di sistema di macOS.
Impostazioni dell'app con l'opzione per attivare o disattivare le notifiche e un puntatore alle impostazioni di sistema per abilitare le notifiche.
Impostazioni delle app in Chrome con un indicatore per aprire le impostazioni di sistema di macOS.
Richiedi l'app nel browser per informare l'utente che le notifiche sono disattivate in Impostazioni di Sistema del Mac con un pulsante per accedervi.
Prompt nel browser che guida l'utente alle impostazioni di sistema di macOS.

Impatto sugli sviluppatori: ritiro di requireInteraction su macOS

Su macOS, la permanenza di una notifica sullo schermo fino a quando l'utente non la chiude ("Permanente") o la sua scomparsa automatica ("Temporanea") è un'impostazione controllata dall'utente e specifica per ogni app nelle Impostazioni di sistema di macOS.

A causa di questa progettazione del sistema operativo, Chrome non rispetterà più l'opzione requireInteraction nell'API Notification su macOS quando l'attribuzione è attiva.

Cosa comporta questo per il tuo codice:

Se la tua app si basa su requireInteraction: true per mantenere le notifiche importanti sullo schermo, questa funzionalità non sarà più garantita su macOS. Invece, devi:

  • Progetta la tua app presupponendo che le notifiche possano essere temporanee (Temporary).
  • Invita gli utenti che hanno bisogno di notifiche persistenti a configurare lo stile di avviso delle notifiche della PWA come "Persistente" in System Settings > Notifications > [Your PWA].
Le impostazioni di sistema di macOS, che evidenziano l'impostazione Stile avviso che mostra Temporaneo e Persistente.
Impostazioni di sistema di macOS per la PWA che mostra l'impostazione dello stile di avviso (temporaneo o persistente).

Impatto sugli sviluppatori: l'API App Badging richiede l'autorizzazione alle notifiche

L'API App Badging consente alle app web di impostare un badge sull'icona dell'applicazione (ad esempio, mostrando il conteggio dei messaggi non letti). Su macOS, i badge delle icone delle app sono tecnicamente collegati alle impostazioni di notifica dell'applicazione. Perché ora la PWA ha una propria identità di notifica nativa:

  • Autorizzazione richiesta: la PWA deve avere l'autorizzazione alle notifiche a livello di sistema operativo attivata per visualizzare il badge sull'icona del dock. Questo è in linea con gli standard della piattaforma macOS e corrisponde al modo in cui Safari gestisce già l'API Badging per le app web.
  • Errore invisibile: se l'utente disattiva l'opzione "Badge icona app" in System Settings > Notifications > [Your PWA] o nega l'autorizzazione per le notifiche, le chiamate a navigator.setAppBadge() continueranno a essere eseguite correttamente in JavaScript (senza generare un errore), ma il badge non verrà visualizzato sul Dock. Se la tua app si basa sui badge, assicurati di richiedere l'autorizzazione per le notifiche per garantire che il badge possa essere visualizzato.

Impatto dell'amministrazione aziendale

Per gli amministratori aziendali che gestiscono dispositivi macOS e vogliono concedere in anticipo le autorizzazioni di notifica:

  1. Policy di Chrome: devi comunque configurare la policy di Chrome (NotificationsAllowedForUrls) per concedere l'autorizzazione all'origine della PWA.
  2. Norme macOS: inoltre, ora devi implementare un profilo di configurazione macOS (MDM) per concedere in anticipo le autorizzazioni di notifica all'identificatore del bundle della PWA (App Shim).

Se non sono in vigore entrambi i criteri, agli utenti verrà comunque chiesto di eseguire l'accesso a livello di sistema operativo.

Best practice per gli sviluppatori

  1. Controlla lo stato dell'autorizzazione: controlla sempre Notification.permission prima di inviare una notifica.
  2. Prompt contestuali: se rilevi che l'autorizzazione è concessa a livello web, ma le notifiche non vengono visualizzate (il che può accadere se l'autorizzazione a livello di sistema operativo viene revocata), indirizza l'utente alle impostazioni di sistema di macOS.
  3. Preparati alle notifiche temporanee: non fare affidamento su requireInteraction per i flussi utente critici su macOS.