2

これが、アプリで動作するようにGoogleAnalyticsを設計した方法です。

すべてのアクティビティが拡張TrackedFragmentActivityされるか、または拡張するその他のfragmentActivity TrackedFragmentActivity

TrackedFragmentActivityは次のとおりです。

public class TrackedFragmentActivity extends SherlockFragmentActivity {
    GoogleAnalyticsTracker tracker;

    public void startAnalytics(String pageName) {
        tracker = GoogleAnalyticsTracker.getInstance();

        tracker.startNewSession("UA-CODE-HERE", this);
        tracker.trackPageView(pageName);
        tracker.dispatch();
    }   
}

そして、すべてのアクティビティにはでsuper.startAnalytics("pagenameHere")呼び出しがありonCreateます。

これで、すべてのアクティビティが適切に追跡され、すべてが追跡されますが、期間に関連するデータは完全に台無しになります。

Pages / Visit: 1.07
Avg. Visit Duration: 00:00:00
Bounce Rate: 94.63%

私は電話stopTracker() onDestroyをかけていて、この動作のせいでしたが、それを削除しようとしましたが、まったく同じ問題が発生します。

これを引き起こしている可能性のあるアイデアはありますか?

4

2 に答える 2

0

主な問題は、このメソッドを呼び出すことでした: tracker.startNewSession("UA-CODE-HERE", this);

新しいアクティビティが読み込まれるたびに。そのため、メソッドを初めて呼び出すために、非常に愚かな静的ブール値を追加しました。誰かがより良い解決策を持っていますか?

新しいコードは次のとおりです。

public class TrackedFragmentActivity extends SherlockFragmentActivity {
    private static GoogleAnalyticsTracker tracker = GoogleAnalyticsTracker.getInstance();
    private static boolean hasStarted = false;

    public void startAnalytics(String pageName) {

        if(!hasStarted) {
            tracker.startNewSession("UA-CODE-HERE", this);
            hasStarted = true;
        }

        tracker.trackPageView(pageName);
        tracker.dispatch();

    }   
}
于 2012-07-02T13:30:06.757 に答える
0

これは正常な動作だと思います。私の理解では、Android プラットフォームの Google アナリティクスは単純なイベントのログ記録に限定されています。

于 2012-06-15T12:43:55.500 に答える