12

ここで述べたように、Google Analytics api v4 のすべてを設定しました:
https://developers.google.com/analytics/devguides/collection/android/v4/
とここ: http://www.javacodegeeks.com/2014 /04/working-with-google-analytics-api-v4-for-android.html


リアルタイム データは表示できますが、「すべての時間」などの特定の期間のスクリーン、アクティブ ユーザー、新規ユーザー、トップ デバイス モデルは表示されません。

Analytic はスクリーン ビューを送信しません。


ここに私のglobal_tracker.xmlがあります

    <string name="ga_trackingId">UA-XXXXXXXX-Y</string>

    <integer name="ga_sessionTimeout">300</integer>

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

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

    <screenName name="com.org.ScreenActivity1">Screen 1</screenName>
    <screenName name="com.org.ScreenActivity2">Screen 2</screenName>


ここに私のAndroidManifest.xmlがあります

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

        <meta-data
            android:name="com.google.android.gms.analytics.globalConfigResource"
            android:resource="@xml/global_tracker"/>


これが私のAnalytics.javaです

public enum TrackerName {
        APP_TRACKER, // Tracker used only in this app.
        GLOBAL_TRACKER // Tracker used by all the apps from a company. eg: roll-up tracking.
    }

    HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

    public Analytics() {
        super();
    }

    public synchronized Tracker getTracker(TrackerName trackerId) {

        if (!mTrackers.containsKey(trackerId)) {

            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);

            if (trackerId == TrackerName.GLOBAL_TRACKER) {
                mTrackers.put(trackerId, analytics.newTracker(R.xml.global_tracker));
            }

        }

        return mTrackers.get(trackerId);
    }


ここに私のアクティビティクラスがあります:

protected void onCreate(Bundle bundle){
//......................

Tracker tracker = ((Analytics) getApplication()).getTracker(Analytics.TrackerName.GLOBAL_TRACKER);
        tracker.setScreenName("Main Activity");
        tracker.send(new HitBuilders.AppViewBuilder().build());

//......................

}

    @Override
    protected void onStart() {
        super.onStart();
        GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }

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

4 に答える 4

10

@stkentの回答によると、問題AppViewBuilder()は非推奨であるため、このコード行を削除することで問題を解決できます。これは、あなたの場合に必要なものであり、これに従って同じ問題を抱えている人がこのコード行を削除するのを助けるため

 tracker.send(new HitBuilders.AppViewBuilder().build());

代わりにこれを追加します

  @Override
protected void onStart() {
    super.onStart();
    GoogleAnalytics.getInstance(this).reportActivityStart(this);
}

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

追跡したい各アクティビティで

これらの2つの方法に関するGoogleドキュメントからの追加情報

reportActivityStop
reportActivityStart

これを自動追跡で使用するのは面倒なので、無効にすることができます

元の回答は、この投稿の @skent に対するものです

于 2014-09-21T10:01:45.217 に答える
2

これで一日損した。ドキュメントからインターネットコードまで、あらゆることを試してみましたが、全体的な画面ビューを表示する仕事は何もありませんでした。最後に、今日の真夜中過ぎに、彼らは現れました。

Google リアルタイム データ (onCreate または同様の方法でトラッカーを送信) が機能している場合は、1 日待ってください。そのデータは Google サーバーのどこかで処理され、しばらくすると分析ダッシュボードで準備が整います。

ps。トニーの言うことを聞かないでください。彼の問題はこれと同じではありません。しかし、stkent は、Google アナリティクスがリアルタイムの概要でアクティブ ユーザーを表示しない問題について、いくつかの優れた洞察を持っています。

于 2014-09-21T00:32:53.570 に答える
1

@tony は正しいです。 HitBuilders.AppViewBuilderクラスは非推奨ですが、onStart/Stopメソッドを実装したくない場合は実装する必要はありません。GA の V4 チュートリアル(セクション 4) で述べられているように、AppViewBuilder クラスを置き換えることができHitBuilders.ScreenViewBuilder()、すべてのプラットフォームで目的の結果が得られます。

クラス参照 API の詳細については、 https ://developer.android.com/reference/com/google/android/gms/analytics/HitBuilders.ScreenViewBuilder.html を参照してください。

于 2015-05-13T19:00:54.040 に答える