#javascript #google-chrome-extension #google-analytics
#javascript #google-chrome-extension #google-analytics
Вопрос:
У меня проблема с моим расширением chrome analytics. Я пытался искать похожие вопросы, но не нашел никого с подобной проблемой.
Событие onInstalled в моем коде запускается без получения новых установок. Ни моя аналитика (которая отслеживает URL-адрес «track_install /»), ни аналитика Chrome Web Store не показывают такого количества новых установок. Мы говорим о более чем 10-кратной разнице в количестве новых установок в CWS или analytics по сравнению с количеством запусков onInstalled, и в моем случае такое поведение сохраняется в течение нескольких месяцев.
Кто-нибудь еще сталкивался с таким поведением?
Вот как выглядит мой код:
chrome.runtime.onInstalled.addListener(function(details){
if(details.reason == "install"){
_gaq.push(['_trackEvent', 'install', 'extension installed']);
setUninstallUrl();
}
}
Комментарии:
1.
onInstalled
: «Срабатывает при первой установке расширения, при обновлении расширения до новой версии и при обновлении Chrome до новой версии».2. @Andreas насколько я знаю, указание «details.reason==’install'» ограничивает его только установками?
3. Это не может произойти без фактического установки расширения. Это было бы ошибкой в Chrome. Я думаю, что это ошибка в статистике CWS, поскольку недавно я видел несколько отчетов, в которых говорится, что статистика заморожена на недели или даже дольше.
4. Я думаю, что это проблема с событием. Как я упоминал, разница превышает 10 раз, и если хотя бы четверть от этого числа запущенных событий oninstalled была установками, это будет отражено в еженедельных активных пользователях. Кроме того, мое расширение является платным, поэтому новые установки также отражаются в платежах. Очевидно, что это событие запускается по какой-то причине, которую я не могу понять
5. Тогда это может быть только ошибка в браузере или пользователи фактически переустанавливают расширение.
Ответ №1:
Редактировать: Doh! Я только что увидел, что это было в 2019 году. Неважно. Однако мне любопытно, как вы это решили.
Я довольно новичок в javascript. Но я нашел этот пример здесь
chrome.runtime.onInstalled.addListener((reason) => {
if (reason === chrome.runtime.OnInstalledReason.INSTALL) {
chrome.tabs.create({
url: 'onboarding.html'
});
}
});
Я не понимаю, почему ваш код будет работать, но мне кажется странным, что вы можете получать какие-либо данные из details.reason
. Не уверен, как возвращается перечисление.
Еще одно не очень заметное отличие заключается в том, что ===
в моем примере, в то время как вы используете ==
. В моем ограниченном понимании тип должен быть одинаковым, и это не имеет значения.
В любом случае, я думаю, я не смогу сильно помочь. Я надеюсь, вы в состоянии разобраться в этом.