1

私はディスパッチ間隔(すなわちtracker.startNewSession("xxxx", 10, this);)でアンドロイドのためのグーグルアナリティクスを使用しています。ただし、開発中に、SDKがデータベースがいっぱいで、最後のイベントがLogCatに保存されていないことについて何かを出力し続けていることに気付きました。そこで.dispatch()、APIを呼び出すたびに、1つの石で2羽の鳥を殺すと考えて、メソッドを手動で呼び出すことにしました。

  1. イベントをより頻繁に送信します。これにより、理論的には、イベントがバックアップされて一部のイベントが失われるのを防ぐことができます(開発で見たlogcatエントリによる)。
  2. モバイルラジオがアクティブなときにGAイベントを送信して、バッテリーを節約します。

それをリリースすると、GA統計(ページビューなど)が約35%高いことに気付きました。これは、以前は多くのGAイベントが失われていたか、一部のイベントを誤って送信することで倍増しているという2つのことのいずれかを意味するだけです。

誰かがこれをトラブルシューティングするための良い方法について何か考えがありますか?モバイルのページビューと訪問数をより適切に報告できるようになった場合、これはすばらしいことです。しかし、手動で呼び出しているためにデータを正確に追跡していない場合は.dispatch()、それは悪いことであり、この変更を元に戻す必要があります。

4

2 に答える 2

1

これは、手動でディスパッチを呼び出す頻度を上げたときにも見られました。さらに、それは理にかなっています。データをローカルに保存し、サーバーにバッチ送信しているため、一部のデータが数日間スタックしても驚かないでしょう. また、データは送信された日に関連付けられており、生成されていないため、歪んだ統計が得られます。

PS: 新しいサンプルアプリを見て、Android SDK を提供しましたか? ディスパッチを改善し、ネットワーク アクセスでメイン スレッドにヒットしないようにするために、AsyncTask ですべてを実行します。すべてのイベントをキューに保存し、AsyncTask を 1 つだけ実行することで、さらに改善しました... Github に配置する必要がありますが、まだクリーンアップしていません。

于 2012-04-11T12:51:17.253 に答える
0

EasyTracker サンプル アプリは、AsyntTask とネットワーク キューを使用してパフォーマンスを向上させます。bitbox で言及されているように、これによりバッテリー寿命が向上し、手動でディスパッチする必要がなく、トラックの損失が少なくなる可能性があります。

EasyTracker の jar とソースは、https: //code.google.com/p/analytics-api-samples/downloads/list からダウンロードできます。

于 2012-09-18T09:09:06.693 に答える