Как определить, установлено ли расширение Chrome реальным пользователем против меня во время разработки? - PullRequest
5 голосов
/ 27 января 2012

Я использую Analytics в своем расширении Chrome.Я хочу выполнить аналитический код только в том случае, если расширение используется реальным человеком (не я, пока я над ним работаю).Можно ли выполнить какое-либо из следующих действий, и какое из них лучше?

  1. Определите, было ли расширение установлено в упаковке или без упаковки.Я думаю, что это лучшее, потому что распаковка явно означает, что она «в разработке» и никак не связана с моей машиной.Может ли расширение знать это программно?

  2. Попросите расширение найти что-то специфичное для моей среды.Я не уверен, что это что-то (расширение с открытым исходным кодом, поэтому оно не может быть слишком приватным).

  3. На странице параметров есть опция «Режим разработчика».Выполнимо, но это означает, что любой, кто устанавливает расширение, может просто включить его.

  4. Установите переменную localStorage вручную и никогда не удаляйте ее.Выполнимо, но не лучшее решение, потому что если оно когда-нибудь исчезнет, ​​мне придется его сбросить.И я должен помнить, чтобы не удалять его, если я когда-либо удаляю ключи из localStorage.

  5. var useAnalytics = false во время разработки, установите значение true перед выпуском.Это не автомат, а опция.

  6. Что-то еще?

Ответы [ 2 ]

8 голосов
/ 27 января 2012

Ваше производственное расширение будет иметь одно значение extension_id, которое не изменится, в то время как ваше распакованное расширение будет иметь случайное значение extension_id, которое изменится, если вы удалите и загрузите его снова.Вы можете использовать il8n API , чтобы получить extension_id проверку на соответствие продукции extension_id.

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

0 голосов
/ 30 апреля 2012

Вы можете установить отказ от Google Analytics https://chrome.google.com/webstore/detail/fllaojicojecljbmefodhfapmkghcbnh?hl=en

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...