Akuma
@Akuma
Веб-программист

Почему зависает GoogleAnalytics в Android приложении?

Добрый день,

пытаюсь добавить гугл-аналитику к приложению в Android Studio.

В gradle добавил
compile 'com.google.android.gms:play-services:6.5.87'


В класс приложения добавил:
private Tracker appTracker;

public Tracker getTracker() {
    if (appTracker == null) {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        appTracker = analytics.newTracker(R.xml.global_tracker);
    }

    return appTracker;
}


И, соответственно global_tracker.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="TypographyDashes">

    <string name="ga_trackingId">UA-53398***-*</string>

    <bool name="ga_autoActivityTracking">true</bool>
    <bool name="ga_reportUncaughtExceptions">true</bool>

    <screenName name="......">
        Так перечисляются различные активити....
    </screenName>
</resources>


К активити добавил:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ((App) getApplication()).getTracker();
    }

    @Override
    protected void onStart() {
        super.onStart();

        GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }

    @Override
    protected void onStop() {
        GoogleAnalytics.getInstance(this).reportActivityStop(this);
        
        super.onStop();
    }


В манифесте, внутри application:
<meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/global_tracker" />


Поидее, все должно работать. И вроде даже в логах просвечиваются строки отправки статистики.
Но, в аналитике спустя выходные так ничего и не появилось (я ходил по приложению в эмуляторе и на реальном устройстве).
К тому же приложение на старте зависает. Ни ошибок, ни предупреждений. Просто белое активити с заголовком и все.

Собственно, что я делаю не так? Или может есть адекватное руководство по настройке аналитики? В офф-документции как-то все непонятно и слишком запутано.
Подключал до этого я.метрику - никаких проблем, но заказчик взбунтовался и хочет именно гугло-аналитику.
  • Вопрос задан
  • 2456 просмотров
Пригласить эксперта
Ответы на вопрос 2
anyd3v
@anyd3v
Добавьте в манифесте

Уберите "В класс приложения добавил:"

Стоп лучше делать до super.onStop
Ответ написан
@Bady55
Похожая проблема, подключил Аналитик к приложению, на виртуальной машине тестирую, вижу что статистика появляется (Аналитик - в режиме реального времени), переношу свое приложение на свой реальный телефон или планшет, зависает на (само собой при запуске приложения):
GoogleAnalytics.getInstance(this).reportActivityStart(this);
пробовал ставить на нажатие кнопки такое (при этом комментарил строку та что выше в OnStart):
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER);
t.setScreenName("MainScreen");
t.send(new HitBuilders.AppViewBuilder().build());
та же беда, на виртуальной машине работает, на реальном телефоне виснит только уже при нажатии на кнопку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы