ページ

2013/06/18

[Android]Google Analytics for Androidの送信タイミングを制御する

Google Analytics へのデータ送信をフォアグラウンド実行中に制限したかったので
設定を変更してみた。

まず、データ送信は以下の2つのタイプがある。
Periodic dispatch: プログラムか analytics.xml で設定した間隔で送信するタイプ
Manual dispatch: 任意のタイミングで送信するタイプ

Periodic Dispatch

<integer name="ga_dispatchPeriod">60</integer>
GAServiceManager.getInstance().setDispatchPeriod(60);
デフォルトは30分で、負の値で送信を無効化、0でトラッキングイベント発生時に送信するように設定できる。
僕はフォアグラウンド実行中に制限するために 0 を指定した。

Manual Dispatch

GAServiceManager.getInstance().dispatch();
これを呼び出すだけでいいらしい。
バックグラウンドに移る際に実行しておけば送信漏れが無さそうで良いかもしれない。

送信失敗してもローカルに保存されて次回送信されるけど
午前4時を過ぎるとデータが無効化されるのでできるだけ漏れがないように実装したいところ。