2012-01-27 7 views
5

Używam Analytics w moim rozszerzeniu do Chrome. Chcę wykonać kod analityczny tylko wtedy, gdy rozszerzenie jest używane przez prawdziwą osobę (nie ja podczas pracy nad nim). Czy któreś z poniższych rozwiązań jest wykonalne i które jest najlepsze?Jak sprawdzić, czy rozszerzenie przeglądarki Chrome jest instalowane przez prawdziwego użytkownika, a przeze mnie podczas programowania?

  1. Określ, czy rozszerzenie zostało zainstalowane, czy nie. Myślę, że to jest najlepsze, ponieważ rozpakowanie wyraźnie oznacza, że ​​jest "w fazie rozwoju" i nie jest w żaden sposób związane z moją maszyną. Czy to rozszerzenie może wiedzieć o tym programowo?

  2. Poszukaj w rozszerzeniu czegoś, co jest specyficzne dla mojego środowiska. Nie jestem pewien, co to jest (rozszerzenie jest open source, więc nie może być nic zbyt prywatne).

  3. Masz opcję "programisty" na stronie opcji. Jest to możliwe, ale oznacza to, że każdy, kto instaluje rozszerzenie, może go włączyć.

  4. Ustaw ręcznie zmienną localStorage i nigdy jej nie kasuj. Naprawalne, ale nie najlepsze rozwiązanie, bo gdyby kiedykolwiek zniknęło, musiałbym je zresetować. I muszę pamiętać, aby go nie usuwać, jeśli kiedykolwiek usunę klucze z localStorage.

  5. var useAnalytics = false podczas rozwijania, ustaw na true przed zwolnieniem. To nie jest automatyczne, ale jest opcją.

  6. Coś jeszcze?

+0

istead co skomplikowane. Nie możesz po prostu mieć kodu analitycznego w osobnym pustym pliku JS, a następnie dodać kod analityczny tuż przed zwolnieniem. Przetestuj go po raz ostatni po aktualizacji JS. – Shoban

+0

Chcę np. Śledzić kliknięcia na różnych przyciskach w moim rozszerzeniu. Jeśli będę musiał ręcznie usuwać analitykę za każdym razem, gdy się rozwijam, będę musiał usunąć wszystkie te instrukcje. Powiedziałbym, że najłatwiejszym "ręcznym" sposobem byłoby ustawienie zmiennej zwanej useAnalytics i ustawienie jej na wartość false, podczas gdy ja się rozwijam, a następnie ustawię ją na true, kiedy ją zwolnię. Wciąż wolałbym jednak coś automatycznego. –

Odpowiedz

8

Rozszerzenie produkcji będzie mieć jeden extension_id że nie ulegnie zmianie w czasie, gdy po rozpakowaniu rozszerzenie będzie mieć losową extension_id która zmieni jeśli wyjąć i załadować go ponownie. Możesz użyć parametru il8n API, aby uzyskać kontrolę extension_id, jeśli pasuje ona do produkcji extension_id.

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

+0

To działa, chociaż to dziwne, że otrzymujesz identyfikator rozszerzenia za pośrednictwem interfejsu API i18n. Dzięki. –

+0

'@@ extension_id' jest przeznaczony dla plików CSS, dzięki czemu można używać różnych obrazów na podstawie języka. Po prostu działa to dobrze :) – abraham

Powiązane problemy