Domande frequenti sulla migrazione della migrazione delle installazioni integrate

A partire dal 12/06/2018, l'installazione integrata è deprecata. Per ulteriori informazioni, leggi il nostro post del Blog di Chromium.

Domande sulla cronologia

Cosa cambierà il 12/06/2018?

L'installazione integrata sarà disattivata per tutti gli elementi del Chrome Web Store, ad esempio estensioni e app, pubblicati per la prima volta a partire dal 12 giugno 2018. "Disattivato" significa che i tentativi di installazione integrata vengono reindirizzati automaticamente alla pagina dei dettagli dell'elemento sul Chrome Web Store, dove l'utente può completare l'installazione. Non cambierà nulla per gli articoli esistenti nello store che sono stati pubblicati per la prima volta prima di questa data.

Cosa cambierà il 12/09/2018?

La disattivazione verrà applicata a TUTTI gli elementi indipendentemente dalla data di pubblicazione. Il 100% dei tentativi di installazione integrata per tutti gli elementi verrà reindirizzato al Chrome Web Store, dove gli utenti possono completare l'installazione.

Cosa devo fare prima del 12/09/2018?

Non è necessario apportare modifiche, ma ti consigliamo di esaminare la procedura di installazione e di sostituire la chiamata chrome.webstore.install() con una navigazione direttamente alla scheda del Chrome Web Store del tuo elemento. In questo modo puoi verificare che produca la migliore esperienza utente.

Ti consigliamo inoltre di incorporare il nuovo badge di download del Chrome Web Store nel flusso di installazione sul tuo sito.

Cosa cambierà nella versione M71 (dicembre 2018)?

A partire dalla versione M71, Chrome non supporterà più il metodo chrome.webstore.install() e la chiamata non riuscirà, causando un flusso di installazione interrotto sul tuo sito. A questo punto, le chiamate all'API generano JavaScript TypeError. Devi rimuovere tutte le chiamate al metodo API prima di questa data.

Dopo la disattivazione dell'installazione in linea

Che aspetto avrà il flusso di installazione?

Quando il tuo sito chiama chrome.webstore.install(), Chrome non attiva più una finestra di dialogo immediatamente, ma apre una nuova scheda in primo piano nella pagina dei dettagli del Chrome Web Store (ad esempio https://chrome.google.com/webstore/detail/EXTENSION_ID). Da qui, l'utente può seguire la procedura di installazione standard facendo clic su "Installa". Una finestra di dialogo chiederà all'utente di leggere le autorizzazioni e di installare o annullare l'operazione. Dopo aver chiuso la finestra di dialogo, la scheda rimarrà nel Chrome Web Store.

Come faccio a capire se l'installazione è riuscita?

Quando chiami chrome.webstore.install(), l'errore callback viene attivato con un errore che indica che l'utente è stato reindirizzato al Chrome Web Store. senza indicare se l'installazione è riuscita o meno. Ricorda che, a partire da Chrome 71, le chiamate a chrome.webstore.install() non andranno a buon fine, quindi non verrà mai eseguito l'errore callback.

Senza questa API, il sito può comunque rilevare se l'elemento è già installato comunicando tra l'estensione e il tuo sito web. A questo scopo, utilizza i messaggi delle estensioni e la proprietà externally_connectable nel manifest.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

Sostituisci quanto segue:

  • EXTENSION_ID: l'ID dell'estensione.
  • MESSAGE: la stringa o l'oggetto del messaggio da inviare all'estensione.

Come si attiva una pagina informativa dopo l'installazione?

Utilizza l'evento chrome.runtime e apri una nuova scheda dopo l'installazione. Ecco un esempio da usare nella tua pagina in background:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

Posso ottenere un'eccezione?

No. Questa modifica alle norme si applica a tutti gli elementi presenti nel Chrome Web Store, senza eccezioni.