11

GoogleAnalytics v2 Web サイトのドキュメントを読みました (基本的にhttps://developers.google.com/analytics/devguides/のすべてのページを読みました) が、質問に答えるのに十分な正確さを見つけることができませんでした。バージョン 1 のドキュメントが欠落しているか、混合されています。

EasyTracker では、timeout_session パラメーターを設定できることを知っています。しかし、私は EasyTracker を使用したくありません。また、コードのある時点でセッションを明示的に停止したいと考えています。(タイムアウトを設定しない)

次のコマンドでアプリケーションを開いたときにセッションを開始します。

mTracker.setStartSession(true);

そして、電話するかどうか疑問に思っていました

mTracker.setStartSession(false);

明示的に停止します。

より良いチュートリアル/ドキュメントへのヘルプまたはポイントは大歓迎です。

4

3 に答える 3

6

概要

そのため、 Measurement Protocolと LogCat のデバッグ ログに目を通すことに時間を費やしました。携帯電話の GA が一連のヒットを「ディスパッチ」すると、すべてのヒットに対応する HTTP リクエストがログに含まれているように見えます。

GET /collect?...

その後に、ヒットのタイプ (イベント、ソーシャル、e コマースなど) を定義する一連のパラメーターと、アプリに関する基本的な情報 (アプリ ID、トラッキング ID、タイムスタンプなど) が続きます。

これが私が学んだことです:

setStartSession(false)セッションを終了しません。


どのように私はそれを発見しました

前述したように、すべてのヒットは何らかのアクションを表しています。ただし、セッションの開始または終了はヒットとは見なされません。それらは、新しいセッションで将来のヒットをグループ化するよう GA に指示する、最新のヒットに追加される単なる追加データです。

そのため、 、 、 の場合sendEvent(...)、新しいセッションの開始を説明する追加のパラメーターを使用して、イベント説明するログに 1 つのヒットが表示されます。setStartSession(true)dispatch()&sc=start

次に、上記を使用して実行しようとしましたが、追加のパラメーターsetStartSession(false)に気づきませんでした。here で説明され&scているように、そうあるべきでした。&sc=end


潜在的なハッキング

トラッカーにはsend(...)、必要なパラメーターを指定することでカスタム ヒットを送信できるように見えるメソッドがありました。いくつかの試行錯誤の後、以下はイベントを正常に作成し、上記のようにセッション終了パラメーターを添付しました。

Map<String, String> data;
data = EasyTracker.getTracker().constructEvent("Test", "Test", "Test", 0L);
data.put("sessionControl", "end");
EasyTracker.getTracker().send("event", data);

したがって、理論的には、セッションを終了するたびに、(上記のような) ダミー イベントを作成し、sessionControlパラメーターを追加して、ディスパッチすることができます。ログからは完全に機能しているように見えますが、GA ダッシュボードでこれを確認していません。

また、ファイルで を設定ga_sessionTimeoutして、自動セッション制御を無効に-1してください。analytics.xml

ログを調べてヒットを比較したい場合は、ここに私のプロジェクトもアップロードしました。GA トラッキング ID を更新してください。お役に立てれば!


マイログ

セッションの開始 + テスト イベント、ディスパッチ

GET /collect?ul=en-us&ev=0&ht=1362779137510&sr=720x1184&a=0&sc=start&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.sMC&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=2788&z=48 HTTP/1.1

セッションの終了 + テスト イベント、ディスパッチ

GET /collect?ul=en-us&ev=0&ht=1362779233499&sr=720x1184&a=0&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.ssMMC&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=3726&z=50 HTTP/1.1

End Session Hack + テスト イベント、ディスパッチ

GET /collect?ul=en-us&ev=0&ht=1362779194381&sr=720x1184&a=0&sc=end&aid=com.example.com.example.sessiontest&ea=Test&cid=ae57a272-89b2-46ab-8c82-7acdb49c3669&ec=Test&av=1.0&v=1&t=event&el=Test&an=com.example.sessiontest&tid=UA-XXXXXXXX-X&_u=.ssyL&_v=ma1b4&cd=com.example.com.example.sessiontest.MainActivity&qt=3581&z=49 HTTP/1.1
于 2013-03-08T23:31:05.140 に答える
1

GA v3 でセッションを手動で開始または終了するには、トラッカーのセッション制御パラメーターを次のように使用します。

新しいセッションを開始します。このトラッカーからの次のヒットは、新しいセッションの最初のヒットになります。

[tracker set:kGAISessionControl value:@"start"];

セッションを終了します。このトラッカーからの次のヒットは、現在のセッションの最後のヒットになります。

[tracker set:kGAISessionControl value:@"end"];

この情報はリンクから入手できます: https://developers.google.com/analytics/devguides/collection/ios/v3/sessions

于 2013-09-03T13:46:23.370 に答える
0

GoogleAnalytics v2 では、セッションを開始/停止する新しい方法があります。

私はあなたのコードを見たことがなく、以前mTracker.setStartSession(true)mTracker.setStartSession(false)使用しました。

ここで、EasyTracker メソッドを使用したくない場合は、次の方法で新しいセッションを開始できます。
mTracker.startNewSession("UA-xxxxxxx-x", 20, this);

最初の入力は
(String uniqueGoogleAnalyticsKey, int autoDispatchTimer, Context this)

停止するには: tracker.stopSession();

于 2013-01-18T18:03:08.897 に答える