Android google analytics v3: "Сервис недоступен"
следуя простому руководству здесь,
https://developers.google.com/analytics/devguides/collection/android/v3/
когда я запускаю свое приложение, я получаю это,
10-28 18:01:17.973 27022-27069/com.foo.bar W/GAV3﹕ Thread[GAThread,5,main]: Service unavailable (code=1), will retry.
10-28 18:01:17.973 27022-27069/com.foo.bar I/GAV3﹕ Thread[GAThread,5,main]: No campaign data found.
10-28 18:01:17.973 525-865/system_process W/ActivityManager﹕ Unable to start service Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) } U=0: not found
из отладки, он пытается запустить службу, которая не существует. мне кажется, что я должен был бы определить это в своем манифесте, но руководство ничего не говорит об этом.
Я разместил analytics.xml
в моей папке res/values как таковой,
<?xml version="1.0" encoding="utf-8" ?>
<resources
xmlns:tools="https://schemas.android.com/tools"
tools:ignore="TypographyDashes">
<string name="ga_trackingId">UA-XXX-1</string>
<bool name="ga_autoActivityTracking">true</bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_dispatchPeriod">1</integer>
<bool name="ga_debug">true</bool>
</resources>
Я полностью в тупике, потому что руководство настолько просто. если это имеет какое-то значение (и это не должно), я создаю студию android studio/ gradle и добавляю такую зависимость,
compile files('libs/libGoogleAnalyticsServices.jar')
EDIT: подумал... это устройство НЕ запускает сервисы google. ли библиотека google analytics зависит от установленного APK сервиса google?
Ответы
Ответ 1
Вы можете игнорировать это предупреждение.
Из группы Google Analytics для мобильных приложений:
The SDK is simply attempting to connect to a global dispatch service, which is unavailable on your device. The hits are still being generated and sent to GA normally.
Сайт разработчика Google предоставит более подробную информацию об этом в ближайшее время.
Ссылка на группу: https://groups.google.com/forum/#!forum/ga-mobile-app-analytics
Ответ 2
Если вы используете аналитику V3, вы должны удалить
<bool name="ga_debug">true</bool>
поскольку ga_debug для v2
: SDK для Google Analytics для Android - Параметры EasyTracker
Ответ 3
В этой же проблеме вы можете просто забыть инициализировать свой трекер.
В разделе "Следующие шаги" на сайте GA3 указано: "Прежде чем какие-либо данные могут быть измерены, вы должны инициализировать хотя бы один трекер через Синтаксис GoogleAnalytics путем предоставления идентификатора контекста и идентификатора Google Analytics:"
Просто вставьте этот код в свои основные действия 'onCreate method:
// Initialize a tracker using a Google Analytics property ID.
GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-Y")
Вы думаете, что они упомянули об этом на своей главной странице, но я думаю, они просто ожидают, что вам будет интересно узнать о дополнительных настройках.
Ответ 4
Я думаю, вы можете использовать
GAServiceManager.getInstance().setLocalDispatchPeriod(10);
после этой строки, похоже, работает очень хорошо и отправляет события