EDIT: исправлена ошибка. Но все же я не вижу посетителей в режиме реального времени в окне Google Analytics. Я проверяю три раза идентификатор отслеживания. Это правильно, ошибки в коде нет. Но почему я не могу подойти к посетителям? Мин 1 посетитель должен быть в режиме реального времени. Потому что я нахожусь в своем приложении.Google Analytics v4 Ошибка в приложении для моего Android-приложения
Я хочу использовать Google Analytics v4 для своего приложения. Я добавляю класс according в google doc.
GoogleAnal.java
public class GoogleAnal extends Application {
public GoogleAnal() {
super();
}
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
if(trackerId == TrackerName.APP_TRACKER){
Tracker t = analytics.newTracker(R.xml.app_tracker);
mTrackers.put(trackerId, t);
}
}
return mTrackers.get(trackerId);
}
}
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
....
....
....
//Below line gives Error:
//11-26 09:52:35.005: E/AndroidRuntime(2239): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.helloworld.GoogleAnal
((GoogleAnal) getApplication()).getTracker(GoogleAnal.TrackerName.APP_TRACKER);
}
@Override
protected void onStart() {
super.onStart();
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}
@Override
protected void onStop() {
super.onStop();
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}
Где я делаю неправильно? Что я должен написать вместо ((GoogleAnal) getApplication()).getTracker(GoogleAnal.TrackerName.APP_TRACKER);
Если мой способ не так, можете ли вы дать некоторые предложения?
Вы можете оставить свой LogCat? –