web-dev-qa-db-ja.com

グーグルアナリティクスはアクティブなユーザーをリアルタイムの概要に表示しません

アプリでgoogle analytics V4を使用するようにすべてを設定しましたが、すべてが機能し、表示されますが、モバイルビューでリアルタイムの概要に移動しても、アクティブなユーザーは表示されませんでした

これは私のトラッカーです

 <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.Android.com/tools"
tools:ignore="TypographyDashes">
  <integer name="ga_sessionTimeout">300</integer>

    <!-- Enable automatic Activity measurement -->
    <bool name="ga_autoActivityTracking">true</bool>
    <!-- The screen names that will appear in reports -->
    <screenName name="info.lifepast.MainActivity">MainActivity</screenName>

    <!--  The following value should be replaced with correct property id. -->
    <string name="ga_trackingId">UA-xxx-3</string>
</resources>

アプリケーションクラスは

public class Analytics extends Application {
private static final String PROPERTY_ID = "UA-xxxxx-3";
  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.
        ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
    } 

    HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
    synchronized Tracker getTracker(TrackerName trackerId) {
        if (!mTrackers.containsKey(trackerId)) {

          GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
          Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
              : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
                  : analytics.newTracker(R.xml.ecommerce_tracker);
          mTrackers.put(trackerId, t);

        }
        return mTrackers.get(trackerId);
      }

}

作成のメインアクティビティでこれを追加しました

Tracker t = ((Analytics) this.getApplication()).getTracker(
        TrackerName.GLOBAL_TRACKER);
    GoogleAnalytics.getInstance(this).getLogger().setLogLevel(LogLevel.VERBOSE);
    // Set screen name.
    // Where path is a String representing the screen name.
    t.setScreenName(getString(R.string.app_name));

    // Send a screen view.
    t.send(new HitBuilders.AppViewBuilder().build());

そしてマニフェストファイル

  <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"/>

何か助け?

16
Antwan

今日はv4アナリティクスを見ていて、スクリーンビューを投稿するのにも問題がありました。以下は、調査中に掘り下げた、あなたに役立つかもしれないものです。

  • AppViewBuilderScreenViewBuilderのために廃止されました(HitBuildersソースコードを参照)。 この部分 ドキュメントはおそらく古くなっています。2015年3月6日編集:リンクされたドキュメントがScreenViewBuilderを使用するように更新されたようです。

  • ドキュメントの解釈が正しければ、自動アクティビティ追跡機能が有効になっているときにScreenViewBuilderを使用してスクリーンビューを明示的にポストする必要はありません(これは構成ファイルにあります)。

  • デフォルトでは、現在の日付はGoogleアナリティクスの統計情報に含まれていません。日付範囲を手動で選択することで、これを含めることができます(ほとんどのGAページ)の右上にあるドロップダウンコントロールを参照してください)。

  • デバッグビルドのディスパッチ期間は必ず短くしてください。デフォルトでは、イベントはバッチ処理されて30分ごとに送信されますが、テストではこれを数秒に減らしてもかまいません。実装の詳細については、@ vangozからの回答を参照してください。

その一部がお役に立てば幸いです。

編集:関連していますが、すでにそこに投稿しているようです: Google Analytics API v4 for Androidスクリーンビューを送信しません

18
stkent

私にとって、Google Analyticsはデフォルトで30分ごとにのみデータをディスパッチすることがわかりました。したがって、テストのディスパッチ時間を変更すると、リアルタイムデータが少し遅れて表示されます。

GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(15);

リファレンス: https://developers.google.com/analytics/devguides/collection/Android/v4/dispatch

6
vangoz