Questa guida descrive in dettaglio il flusso completo di aggiornamento delle estensioni, coprendo la procedura di aggiornamento standard, gli override manuali, le API per sviluppatori e l'impatto significativo delle norme aziendali.
Il ciclo di aggiornamento standard
Chrome è progettato per aggiornare automaticamente le estensioni installate alle loro versioni più recenti, garantendo agli utenti l'accesso a nuove funzionalità e correzioni di sicurezza. Per impostazione predefinita, Chrome verifica la disponibilità di aggiornamenti delle estensioni all'avvio e ogni poche ore.
Un aspetto fondamentale del processo di aggiornamento è che un aggiornamento viene installato solo quando l'estensione è considerata inattiva. Affinché un'estensione sia inattiva, i suoi componenti non devono essere in uso attivo. Nel contesto di Manifest V3, questo significa principalmente che il service worker dell'estensione non è in esecuzione. Il service worker è progettato per essere basato sugli eventi e termina dopo un periodo di inattività. Inoltre, qualsiasi pagina di estensione aperta, come il riquadro laterale, il popup o una pagina delle opzioni, impedisce che l'estensione venga considerata inattiva. Uno script di contenuti attivo non influisce sul fatto che un'estensione sia considerata inattiva o meno.
Questo requisito di inattività può causare ritardi negli aggiornamenti delle estensioni attive di frequente. Se il service worker di un'estensione viene attivato costantemente da eventi, potrebbe non raggiungere mai uno stato di inattività e l'aggiornamento verrà posticipato fino al riavvio del browser.
Monitorare la distribuzione degli aggiornamenti delle estensioni
Per scoprire quanti dei tuoi utenti utilizzano l'ultima versione della tua estensione, utilizza la dashboard di analisi del Chrome Web Store. Vai alla Dashboard per sviluppatori del Chrome Web Store e seleziona una delle tue estensioni pubblicate. Nella barra di navigazione laterale, vai a Analytics -> Utenti e scorri verso il basso fino al grafico Utenti giornalieri per articolo. Qui puoi vedere quanti utenti utilizzano già la tua ultima versione.
Aggiornare le estensioni manualmente
Se gli utenti vogliono ricevere immediatamente gli ultimi aggiornamenti, Chrome fornisce un meccanismo di aggiornamento manuale. È anche uno strumento utile per testare gli aggiornamenti.
I singoli utenti possono forzare un aggiornamento per tutte le estensioni installate seguendo questi passaggi:
- Vai a chrome://extensions.
- Attiva la modalità sviluppatore utilizzando il pulsante di attivazione/disattivazione nell'angolo in alto a destra.
- Fai clic sul pulsante Aggiorna visualizzato.
Questa azione richiede a Chrome di recuperare immediatamente le versioni più recenti di tutte le estensioni installate dal Chrome Web Store.
Verificare la disponibilità di aggiornamenti da un'estensione
L'API chrome.runtime fornisce strumenti per consentire alle estensioni di interagire con il meccanismo di aggiornamento.
Verificare la disponibilità di aggiornamenti su richiesta
La funzione chrome.runtime.requestUpdateCheck() consente a un'estensione di avviare un controllo degli aggiornamenti in modo programmatico. Ciò è particolarmente utile per le estensioni che hanno una dipendenza critica da un servizio di backend e devono assicurarsi di eseguire l'ultima versione compatibile.
Quando viene chiamata questa funzione, Chrome esegue una query nel Chrome Web Store per una nuova versione e la scarica, se disponibile. Il callback della funzione riceve uno stato che indica il risultato del controllo.
Ascolta gli aggiornamenti disponibili
L'evento chrome.runtime.onUpdateAvailable viene attivato quando un aggiornamento è stato scaricato ed è pronto per essere installato. Questo evento fornisce il nuovo numero di versione nei dettagli. Ascoltando questo evento, un'estensione può determinare che è disponibile un aggiornamento e valutare la possibilità di andare inattiva o causare un ricaricamento utilizzando chrome.runtime.reload() quando appropriato.
Il seguente codice mostra un pattern di implementazione di base:
In casi eccezionali, è possibile forzare il browser a verificare la disponibilità di un aggiornamento dell'estensione utilizzando chrome.runtime.requestUpdateCheck():
È importante notare che le chiamate frequenti a requestUpdateCheck() verranno limitate dal browser. Utilizza questa funzione solo quando sai che è disponibile un aggiornamento. Ad esempio, quando un backend aggiornato richiede una versione più recente dell'estensione.
Controllare gli aggiornamenti tramite i criteri aziendali
Negli ambienti aziendali gestiti, il flusso di aggiornamento standard delle estensioni è soggetto ai criteri impostati dagli amministratori di sistema. Queste policy possono ignorare il comportamento predefinito per garantire sicurezza e stabilità.
Installazione forzata
Il criterio ExtensionInstallForcelist consente agli amministratori di installare automaticamente estensioni specifiche per i propri utenti. Gli utenti non possono disattivare o disinstallare le estensioni installate con questo criterio.
Bloccare la versione dell'estensione
Tuttavia, le aziende spesso devono controllare la versione esatta di un'estensione utilizzata per garantire la compatibilità con altri software. Per raggiungere questo obiettivo, gli amministratori possono "bloccare" un'estensione su una versione specifica. Questa operazione viene eseguita tramite la Console di amministrazione Google, in cui un amministratore può selezionare la versione richiesta per un'unità organizzativa. Quando un'estensione è bloccata, Chrome non la aggiornerà oltre la versione specificata.
Ignorare l'origine dell'aggiornamento
Le aziende possono ospitare le proprie versioni fork delle estensioni per motivi di sicurezza o personalizzazione. Po farlo, utilizza il criterio ExtensionSettings con la proprietà override_update_url impostata su true. In questo modo, Chrome recupera l'estensione e i relativi aggiornamenti da un URL specificato, anziché dal Chrome Web Store.
Impostare una versione minima di Chrome
Puoi specificare un valore minimum_chrome_version nel file manifest dell'estensione. In questo modo, l'estensione viene installata solo sulle versioni di Chrome che supportano le API che utilizza.
Per le nuove installazioni, il Chrome Web Store impedirà agli utenti che utilizzano versioni precedenti di Chrome di installare l'estensione, visualizzando il messaggio "Non compatibile". Per gli utenti esistenti, se un aggiornamento di un'estensione aumenta il valore di minimum_chrome_version
a una versione superiore a quella di Chrome installata dall'utente, quest'ultimo smetterà di ricevere aggiornamenti per l'estensione. Gli sviluppatori devono esserne a conoscenza e informare gli utenti se una parte significativa della loro base utenti potrebbe essere interessata.