Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的android应用程序中出现Google Analytics v4强制转换错误_Java_Android_Google Analytics - Fatal编程技术网

Java 我的android应用程序中出现Google Analytics v4强制转换错误

Java 我的android应用程序中出现Google Analytics v4强制转换错误,java,android,google-analytics,Java,Android,Google Analytics,编辑:我修复了错误。但我仍然无法在谷歌分析窗口上看到实时访客。我检查了三次我的跟踪id。它是正确的,代码中没有错误。但是为什么我不能阻止我的访客呢?至少1名访客应在实时访客区。因为我在我的应用程序上 我想在我的应用程序中使用google analytics v4。我在google文档中添加了一个类 GoogleAnal.java public class GoogleAnal extends Application { public GoogleAnal() { supe

编辑:我修复了错误。但我仍然无法在谷歌分析窗口上看到实时访客。我检查了三次我的跟踪id。它是正确的,代码中没有错误。但是为什么我不能阻止我的访客呢?至少1名访客应在实时访客区。因为我在我的应用程序上

我想在我的应用程序中使用google analytics v4。我在google文档中添加了一个类

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);
    }

}
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\u TRACKER)


如果我的方法都错了,你能给我一些建议吗?

选项1:你是否在清单中添加了Googlenal

<application
    android:name="com.xxx.helloworld.GoogleAnal"
    ...

你能发布你的日志吗?@hakiko这个问题似乎与谷歌分析无关。该错误似乎表明无法将Googlenal强制转换为应用程序。尝试调用((Googlenal)getApplication())以了解您的问题是否与分析相关。我修复了错误,应用程序正常打开,但在分析的实时窗口中没有任何操作。“0”访问时间实际上不是实时的。更新结果需要一段时间。实时更新不是实时更新,但延迟约为15秒。我大约在2点左右等你hours@hakiko我等了很长时间才在Google Analytics上看到我的应用程序。我真的不知道你是否很好地实施了这个过程,但你应该再等等。
synchronized Tracker getTracker(TrackerName trackerId) {

    if (!mTrackers.containsKey(trackerId)) {

        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        analytics.setLocalDispatchPeriod(15);
        analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
        Tracker t = analytics.newTracker(PROPERTY_ID);
        t.setAppName(getResources().getString(R.string.app_name));
        t.enableAdvertisingIdCollection(true);
        t.enableAutoActivityTracking(true);
        t.enableExceptionReporting(true);
        mTrackers.put(trackerId, t);
    }
    return mTrackers.get(trackerId);
}