Preguntas frecuentes sobre la migración de la baja de la instalación intercalada

A partir del 12 de junio de 2018, la instalación integrada dejó de estar disponible. Para obtener más información, lee nuestra entrada de blog de Chromium.

Preguntas sobre el cronograma

¿Qué cambiará el 12/06/2018?

Cualquier elemento de Chrome Web Store, como extensiones y apps, que se publicaron por primera vez a partir del 12/06/2018, tendrá inhabilitada la instalación integrada. Si está "Inhabilitada" significa que los intentos de instalación en línea se redireccionarán automáticamente a la página de detalles del elemento en Chrome Web Store, donde el usuario podrá completar la instalación. Nada cambiará para los elementos existentes en la tienda que se publicaron por primera vez antes de esta fecha.

¿Qué cambiará el 12-09-2018?

La inhabilitación se aplicará a TODOS los elementos, independientemente de la fecha de publicación. El 100% de los intentos de instalación intercalada de todos los elementos se redireccionarán a Chrome Web Store, donde los usuarios pueden completar la instalación.

¿Qué debo hacer antes del 2018-09-12?

No necesitas cambiar nada, pero te sugerimos que revises el flujo de instalación y reemplaces la llamada a chrome.webstore.install() con una navegación directamente a la ficha de Chrome Web Store del elemento. Esto te permitirá verificar si produce la mejor experiencia del usuario.

También te recomendamos que incorpores la nueva insignia de descarga de Chrome Web Store en el flujo de instalación de tu sitio.

¿Qué cambiará en M71 (diciembre de 2018)?

A partir de la versión M71, Chrome ya no admitirá el método chrome.webstore.install(), y llamarlo fallará, lo que generará un flujo de instalación interrumpido en tu sitio. En este punto, las llamadas a la API arrojarán un error TypeError de JavaScript. Debes quitar cualquier llamada al método de la API antes de esta fecha.

Después de inhabilitar la instalación integrada

¿Cómo será el flujo de instalación?

Cuando tu sitio llame a chrome.webstore.install(), Chrome ya no activará de inmediato un diálogo, sino que abrirá una nueva pestaña en primer plano en la página de detalles de Chrome Web Store (es decir, https://chrome.google.com/webstore/detail/EXTENSION_ID). Desde allí, el usuario puede realizar el proceso de instalación estándar haciendo clic en "Instalar" y un diálogo le solicitará leer los permisos y realizar la instalación o la cancelación. Después de que se descarte el diálogo, la pestaña permanecerá en Chrome Web Store.

¿Cómo puedo saber si la instalación se realizó correctamente?

Cuando llames a chrome.webstore.install(), se activará el failedCallback con un error que indica que se redireccionó al usuario a Chrome Web Store. No indicará si la instalación se realizó correctamente o no. Recuerda que, a partir de Chrome 71, las llamadas a chrome.webstore.install() fallarán, por lo que nunca se ejecutará el failedCallback.

Sin esta API, el sitio puede detectar si el elemento ya está instalado comunicándose entre la extensión y el sitio web. Esto se puede hacer a través de mensajes de extensiones y la propiedad externally_connectable en el manifiesto.

"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.
}

Reemplaza lo siguiente:

  • EXTENSION_ID: Es el ID de la extensión.
  • MESSAGE: Es la cadena o el objeto del mensaje que se enviará a la extensión.

¿Cómo activo una página informativa después de la instalación?

Usa el evento chrome.runtime y abre una pestaña nueva después de la instalación. Este es un ejemplo para usar en tu página en segundo plano:

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

¿Puedo obtener una excepción?

No. Este cambio en la política se aplica a todos los artículos de Chrome Web Store sin excepción.