Подключение Google Analytics

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Le1b
Сообщения: 20
Зарегистрирован: 09 авг 2013, 13:16
Откуда: Киев-де-суела
Контактная информация:

Подключение Google Analytics

Сообщение Le1b » 02 ноя 2014, 14:36

Подключаю ГА по инструкции написанной сдесь (http://www.javacodegeeks.com/2014/04/wo ... droid.html)

Но при запуске активити приложение закрывается и в логи пишется такая ошибка:

Код: Выделить всё

11-02 11:30:33.224: E/AndroidRuntime(3980): FATAL EXCEPTION: main
11-02 11:30:33.224: E/AndroidRuntime(3980): Process: ua.in.le1b.liberyexerceses, PID: 3980
11-02 11:30:33.224: E/AndroidRuntime(3980): java.lang.RuntimeException: Unable to start activity ComponentInfo{ua.in.le1b.liberyexerceses/ua.in.le1b.libraryexercises.ViewActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to ua.in.le1b.libraryexercises.GAnalytics
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread.access$800(ActivityThread.java:135)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.os.Handler.dispatchMessage(Handler.java:102)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.os.Looper.loop(Looper.java:136)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at java.lang.reflect.Method.invoke(Method.java:515)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at dalvik.system.NativeStart.main(Native Method)
11-02 11:30:33.224: E/AndroidRuntime(3980): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to ua.in.le1b.libraryexercises.GAnalytics
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at ua.in.le1b.libraryexercises.ViewActivity.onCreate(ViewActivity.java:58)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.Activity.performCreate(Activity.java:5231)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
11-02 11:30:33.224: E/AndroidRuntime(3980): 	... 11 more
Код 58 строчки:

Код: Выделить всё

// Get tracker.
        Tracker t = ((GAnalytics) getApplication()).getTracker(
            TrackerName.APP_TRACKER);
Что я сделал не так?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Подключение Google Analytics

Сообщение doter.ua » 02 ноя 2014, 17:13

ClassCastException не может привести getApplication к типу GAnalytics
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Подключение Google Analytics

Сообщение парень » 03 ноя 2014, 11:54

Строка из кода по Вашей ссылке:
[syntax=java5]

public class MyApplicationextends Application {
...

[/syntax]

и эта :

[syntax=java5]

((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);

[/syntax]

Еще не понимаете о чем я ?

У Вас:
[syntax=java5]
Tracker t = ((GAnalytics) getApplication()).getTracker(
TrackerName.APP_TRACKER);
[/syntax]

GAnalytics - это ваш Aplication? У Вас так:

[syntax=java5]

public class GAnalytics extends Application {
...
[/syntax]
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Подключение Google Analytics

Сообщение парень » 03 ноя 2014, 11:58

Сегодня-завтра буду к себе в проект вставлять эту штуку. Не разберетесь - пишите.
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Le1b
Сообщения: 20
Зарегистрирован: 09 авг 2013, 13:16
Откуда: Киев-де-суела
Контактная информация:

Re: Подключение Google Analytics

Сообщение Le1b » 03 ноя 2014, 20:43

парень, название класса пропустил?

Код: Выделить всё

// Get tracker.
        ((GAnalytics) getApplication()).getTracker(GAnalytics.TrackerName.APP_TRACKER);
Но так тоже не работает.

doter.ua, спасибо. Погуглив нашел решение ошибки.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Подключение Google Analytics

Сообщение парень » 04 ноя 2014, 01:50

Проблема была в манифесте, верно?
Надо было указать <application android:name= ".GAnalytics" .....>
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Le1b
Сообщения: 20
Зарегистрирован: 09 авг 2013, 13:16
Откуда: Киев-де-суела
Контактная информация:

Re: Подключение Google Analytics

Сообщение Le1b » 04 ноя 2014, 19:47

парень, да в этом.

парень
Сообщения: 223
Зарегистрирован: 30 мар 2013, 22:52

Re: Подключение Google Analytics

Сообщение парень » 05 ноя 2014, 05:21

тоже столкнулся просто, делал по этому же примеру ) а изначально показалось,что просто не то имя класса указано )))
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Подключение Google Analytics

Сообщение klblk » 05 ноя 2014, 07:20

Зачем использовать какую-то левую инструкцию если есть: https://developers.google.com/analytics ... ndroid/v4/?

В частности не нашел в вашей инструкции:
[syntax=java]<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />[/syntax]

А если упущено это, то может и еще чего-нить упущено.

Ответить