2012-01-27 56 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

相關問題