ディスパッチ - iOS SDK

このドキュメントでは、iOS 向け Google アナリティクス SDK v2 を使って、Google アナリティクスへのデータのディスパッチを管理する方法を説明します。

概要

iOS 向け Google アナリティクス SDK では、収集されたスクリーン ビューやイベントなどのデータは、Google アナリティクスのサーバーに送信される前にローカルのキューに保存されます。こうしたデータ(ここでは「ヒット」)が SDK から Google アナリティクスに送信されるプロセスを「ディスパッチ」と呼びます。

ディスパッチはモバイル コレクション ライブラリに固有のものであり、信頼性の低いネットワーク アクセスやバッテリー駆動時間の制限という課題を軽減するように設計されています。

ディスパッチには次の 2 種類があります。

  • 定期的なディスパッチ – 指定した定期的な間隔で自動的にヒットを送信します。
  • 手動ディスパッチ – 既存の HTTP 接続がある場合など、都合のよいときに手動でヒットをディスパッチしてデータを送信できます。

このドキュメントの残りの部分では、各タイプのディスパッチと、アプリにディスパッチする方法について詳しく説明します。

定期的なディスパッチ

アプリで Google アナリティクスのデータが収集されると、そのデータがキューに追加され、Google アナリティクスに定期的にディスパッチされます。定期的なディスパッチは、アプリがフォアグラウンドまたはバックグラウンドで実行されているときに行われます。

デフォルトのディスパッチ期間は 2 分です。次の例のように setDispatchPeriod:(NSTimeInterval) を呼び出すことで、独自の間隔を秒単位で指定できます。

[[GAI sharedInstance] setDispatchPeriod:60];

負の値を設定すると定期的なディスパッチが無効になるため、Google アナリティクスにデータを送るには手動でのディスパッチが必要になります。一方、値を 0 に設定すると、ネットワーク接続が利用可能なときに各ヒットがすぐにディスパッチされます。

すべてのヒットがディスパッチされると、定期的なディスパッチは省電力モードに入り、別の send 呼び出しが行われるまで無効になります。

ディスパッチを待つヒットが残っている間に、ネットワーク接続が切れたり、ユーザーが アプリを終了したりした場合、残りのヒットはローカル ストレージで保持され、次にアプリが起動するか、ディスパッチが呼び出されたときにディスパッチされます。

手動によるディスパッチ

ヒットを定期的にディスパッチする以外に、手動でディスパッチすることもできます。たとえば、ディスパッチをアプリケーションによる他の HTTP リクエストとバンドルして、オーバーヘッドを削減できます。

ヒットを手動でディスパッチするには、次のように dispatch を呼び出します。

[[GAI sharedTracker] dispatch];