Veelgestelde vragen over migratie van inline-installatiebeëindiging

Vanaf 12-06-2018 is inline-installatie verouderd. Lees ons Chromium-blogbericht voor meer informatie.

Vragen over de tijdlijn

Wat verandert er op 12-06-2018?

Voor alle Chrome Web Store-items, zoals extensies en apps, die voor het eerst zijn gepubliceerd op of na 12-06-2018, is de inline-installatie uitgeschakeld. 'Uitgeschakeld' betekent dat inline-installatiepogingen automatisch worden omgeleid naar de detailpagina van het item in de Chrome Web Store, waar de gebruiker de installatie kan voltooien. Er verandert niets voor bestaande artikelen in de winkel die vóór deze datum voor het eerst zijn gepubliceerd.

Wat verandert er op 12-09-2018?

De uitschakeling is van toepassing op ALLE items, ongeacht de publicatiedatum. 100% van de inline installatiepogingen voor alle items wordt doorgestuurd naar de Chrome Web Store waar gebruikers de installatie kunnen voltooien.

Wat moet ik doen vóór 12-09-2018?

U hoeft niets te wijzigen, maar we raden u aan uw installatieproces te controleren en de aanroep chrome.webstore.install() te vervangen door een navigatie rechtstreeks naar de Chrome Web Store-vermelding van uw item. Als u dat nu doet, kunt u verifiëren dat dit de beste gebruikerservaring oplevert.

We raden u ook aan de nieuwe downloadbadge van de Chrome Web Store op te nemen in uw installatieproces op uw site.

Wat zal er veranderen in M71 (december 2018)?

Vanaf M71 ondersteunt Chrome de methode chrome.webstore.install() niet meer en het aanroepen ervan zal mislukken, wat resulteert in een onderbroken installatieproces op uw site. Op dit punt zullen oproepen naar de API een JavaScript TypeError genereren. Vóór deze datum moet u alle aanroepen van de API-methode verwijderen.

Nadat inline-installatie is uitgeschakeld

Hoe ziet het installatieproces eruit?

Wanneer uw site chrome.webstore.install() aanroept, activeert Chrome niet langer onmiddellijk een dialoogvenster, maar opent in plaats daarvan een nieuw tabblad op de voorgrond naar de detailpagina van de Chrome WebStore (dwz https://chrome.google.com/webstore/detail/EXTENSION_ID ). Van daaruit kan de gebruiker het standaard installatieproces doorlopen door op "installeren" te klikken, en een dialoogvenster zal de gebruiker vragen de machtigingen te lezen en te installeren of te annuleren. Nadat het dialoogvenster is gesloten, blijft het tabblad in de Chrome Web Store staan.

Hoe weet ik of mijn installatie succesvol was?

Wanneer u chrome.webstore.install() aanroept, wordt de failCallback geactiveerd met een foutmelding dat de gebruiker is omgeleid naar de Chrome Web Store. Het geeft niet aan of de installatie succesvol was of niet. Houd er rekening mee dat vanaf Chrome 71 het aanroepen van chrome.webstore.install() zal mislukken, zodat de failCallback nooit zal worden uitgevoerd.

Zonder deze API kan uw site nog steeds detecteren of uw item al is geïnstalleerd door te communiceren tussen de extensie en uw website. Dit kan worden gedaan via extensieberichten en de eigenschap externally_connectable in het 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.
}

Vervang het volgende:

  • EXTENSION_ID : de ID van uw extensie.
  • MESSAGE : De berichtreeks of het object dat naar de extensie moet worden verzonden.

Hoe activeer ik een informatiepagina na de installatie?

Gebruik de chrome.runtime gebeurtenis en open na de installatie een nieuw tabblad. Hier is een voorbeeld dat u op uw achtergrondpagina kunt gebruiken:

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);
  }
});

Kan ik een uitzondering krijgen?

Nee. Deze beleidswijziging is zonder uitzondering van toepassing op alle items in de Chrome Web Store.