2012-01-27 18 views
5

Estoy usando Analytics en mi extensión de Chrome. Quiero ejecutar el código de análisis solo si la extensión está siendo utilizada por una persona real (no yo mientras estoy trabajando en ello). ¿Alguno de los siguientes es factible y cuál es el mejor?¿Cómo saber si una extensión de Chrome está instalada por un usuario real o por mí durante el desarrollo?

  1. Identifique si la extensión se instaló empaquetada o sin empaquetar. Creo que este es el mejor porque desempaquetar claramente significa que está "en desarrollo" y no es específico de mi máquina de ninguna manera. ¿Puede la extensión saber esto programáticamente?

  2. Haga que la extensión busque algo que sea específico de mi entorno. No estoy seguro de qué es ese algo (la extensión es de código abierto, por lo que no puede ser demasiado privado).

  3. Tiene una opción de "modo de desarrollador" en la página de opciones. Puede hacerlo, pero eso significa que cualquiera que instale la extensión puede encenderlo.

  4. Establezca una variable localStorage manualmente y nunca la borre. Es una solución factible pero no la mejor, porque si alguna vez desaparece, tendré que restablecerla. Y tengo que recordar no eliminarlo si alguna vez elimino claves de localStorage.

  5. var useAnalytics = false durante el revelado, configúrelo en verdadero antes de soltar. No es automático, pero es una opción.

  6. ¿Algo más?

+0

Istead de lo que es compleja. ¿No puede simplemente tener el código de análisis en un archivo JS vacío separado y luego agregar el código de análisis justo antes de liberarlo? Pruébelo una vez más después de la actualización de JS. – Shoban

+0

Quiero hacer cosas como hacer clic en varios botones dentro de mi extensión. Si tengo que eliminar analíticas manualmente cada vez que estoy desarrollando, tendré que eliminar todas esas declaraciones también. Yo diría que la forma más fácil de "manual" sería establecer una variable en algún lugar llamada useAnalytics y establecerlo en falso mientras desarrollo y luego establecerlo en verdadero cuando lo publique. Aun así, preferiría algo automático. –

Respuesta

8

Su extensión de producción tendrá un único extension_id que no cambiará cuando su extensión descomprimido tendrá un azar extension_id que cambiará si quita y vuelva a instalarla. Puede usar il8n API para obtener la verificación extension_id si coincide con la producción extension_id.

var extensionId = chrome.i18n.getMessage('@@extension_id');

+0

Eso funciona, aunque es extraño que obtenga la ID de extensión a través de la API i18n. Gracias. –

+0

El '@@ extension_id' está diseñado para archivos CSS para que pueda usar diferentes imágenes en función del idioma. Simplemente funciona muy bien para esto :) – abraham

Cuestiones relacionadas