que puede extensión extensiones evitar estar esta desinstalar dañada configurar chrome bloquear añadir google-chrome permissions google-chrome-extension updates chrome-web-store

google chrome - puede - Actualización de permisos de una extensiones de Chrome



extensiones chrome android (3)

Actualmente tenemos una extensión en Chrome Web Store con muchos usuarios. Actualmente solicitamos acceso a foo.site.com pero ahora nos gustaría actualizar nuestros permisos para que podamos obtener bar.site.com.

Como lo entiendo ahora, si enviamos una nueva actualización (nueva versión de extensión a Chrome Web Store) que requiere estos dos permisos, los usuarios existentes tendrán su extensión deshabilitada hasta que se vuelvan a habilitar manualmente. Los nuevos usuarios que descarguen la extensión después de la actualización estarán bien y tendrán ambos permisos. Sin embargo, deshabilitar a nuestros usuarios actuales no es una opción.

¿Alguna forma de evitar esto?

Hemos investigado los permisos opcionales, lo que resolvería el problema para los usuarios existentes (solo les pediríamos que hicieran clic en un botón para actualizar los permisos y que estén en camino). Sin embargo, para los nuevos usuarios, no solo tendrían que instalar la extensión, sino que también aceptarían los permisos opcionales que apesta. ¿Hay alguna forma para que los nuevos usuarios acepten todos los permisos (opcional y requerido) en el momento de la instalación?


Desde el Chrome 16, puede establecer el permiso_opcional en el momento de la instalación y solicitar un permiso elevado en el tiempo de ejecución. Consulte https://developer.chrome.com/extensions/permissions

en manifest.json:

{ "name": "My extension", ... "optional_permissions": [ "tabs", "http://bar.site.com/" ], ... }

en popup.json:

document.querySelector(''#my-button'').addEventListener(''click'', function(event) { // Permissions must be requested from inside a user gesture, like a button''s // click handler. chrome.permissions.request({ permissions: [''tabs''], origins: [''http://bar.site.com/''] }, function(granted) { // The callback argument will be true if the user granted the permissions. if (granted) { doSomething(); } else { doSomethingElse(); } }); });


Frente al mismo problema con mi extensión, encontré esta publicación buscando la misma pregunta. Hay una actualización que parece aceptable en algunos casos. De acuerdo con: https://support.google.com/chrome_webstore/answer/1054246 y el ejemplo en http://developer.chrome.com/extensions/permission_warnings.html

Parece que la actualización de sus permisos de hecho deshabilitará su extensión, sin embargo, le preguntará al usuario sobre su cambio y le permitirá una fácil "habilitación".

Puede que no sea aceptable en su escenario, sin embargo, en mi caso, la ganancia de nuevos usuarios con el permiso agregado por defecto supera el riesgo de que el usuario existente no se vuelva a habilitar. Como esto es drásticamente mejor que antes, donde los usuarios existentes no sabían que la extensión estaba deshabilitada ...

Sé que esta publicación es antigua, pero como es el principal resultado de Google para esta pregunta, pensé que una actualización sería buena para futuras referencias ...


Sí, hay solución. Establece los nuevos permisos como opcionales, y luego solicita el permiso antes de que el usuario use la nueva función. El trabajo es 100%.

Esto es lo que añades a tu manifiesto:

"permissions": ["tabs","http://*/*","https://*/*"],

Después de eso puedes usar:

chrome.permissions.request

y

chrome.permissions.contains