2012-01-27 55 views
5

我在我的Chrome扩展程序中使用Google Analytics。只有当扩展名被一个真实的人使用时,我才想执行分析代码(而不是在我工作的时候)。以下任何一项是可行的,哪一项最好?如何判断一个真正的用户和我在开发过程中是否安装了Chrome扩展?

  1. 确定扩展是安装打包还是解压。我认为这是最好的,因为明确解包意味着它“正在开发中”,并且它不是特定于我的机器的。该扩展可以通过编程方式了解吗?

  2. 让扩展程序查找特定于我的环境的内容。我不确定那是什么东西(扩展名是开源的,所以它不能太私人)。

  3. 在选项页面上有一个“开发人员模式”选项。可以,但这意味着任何安装扩展程序的人都可以打开它。

  4. 手动设置localStorage变量,并且永不删除它。可行但不是最好的解决方案,因为如果它消失了,我不得不重置它。我必须记住,如果我从localStorage删除了密钥,不要删除它。

  5. var useAnalytics = false开发中,在释放之前将其设置为true。这不是自动的,但它是一个选项。

  6. 还有其他的东西吗?

+0

istead使其复杂的。难道你不能只在一个单独的空JS文件中分析代码,然后在发布之前添加分析代码。 JS更新后最后一次测试它。 – Shoban 2012-01-27 14:36:32

+0

我想要做一些事情,比如跟踪点击我的扩展程序中的各种按钮。如果我每次开发时都必须手动删除分析,我也必须删除所有这些语句。我会说最简单的“手动”方法是设置一个名为useAnalytics的变量,并在开发时将其设置为false,然后在发布时将其设置为true。我仍然喜欢自动的东西。 – 2012-01-27 14:46:45

回答

8

您的生产扩展将有一个单一的extension_id不会改变,而你正在开发的扩展将有一个随机extension_id如果您删除,然后重新装入,将改变。您可以使用il8n API获取extension_id检查是否与生产extension_id匹配。

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

+0

虽然很奇怪,但通过i18n API获取了扩展名。谢谢。 – 2012-01-27 23:17:21

+0

“@@ extension_id”是为CSS文件设计的,因此您可以使用基于语言的不同图像。它只适用于这:) – abraham 2012-01-27 23:38:18

相关问题