---
title: イベントバッチング
description: このドキュメントでは、Tealium Collectモバイルモジュールのイベントバッチングの仕組みについて説明します。
url: https://docs.tealium.com/ja/platforms/getting-started-mobile/event-batching/
---
イベントバッチングは、Tealium Collectモジュールの機能で、モバイルデバイスとTealiumとの間のデータ伝送を最適化するために、複数のイベントを1つのHTTPリクエストで送信します。イベントバッチングは、繰り返しのデータレイヤ変数を排除し、gzipで圧縮されたペイロードを受け入れるように最適化された専用のデータ収集エンドポイントと連携して動作します。

## バッチ vs. キュー

イベントバッチングは、デバイスがネットワークを介してデータを送信する方法を指します。イベントキューは、デバイスがデータを一時的に保存してから送信する方法を指します。イベントバッチングは、複数のイベントを1つのネットワークリクエストにまとめます。これは、追跡された各イベントが自身のリクエストであるのとは対照的です。

デバイスは以下の条件でバッチングを使用します：

* **Publish Configuration > Mobile Library Publishing > Batching**でバッチングが有効になっています。詳細については、[モバイルプロファイルの作成](https://docs.tealium.com/creating-a-mobile-profile/#batching)を参照してください。
* デバイスが安定したインターネット接続を持っていません。デバイスは接続が利用可能になるまでイベントを保存します。
* ユーザーが**Consent Manager**で何も選択していません。デバイスはユーザーが**Consent Manager**の構成を選択するまでイベントを保存します。詳細については、[同意管理について](https://docs.tealium.com/about-consent-management/)を参照してください。

デバイスのバッチ送信の挙動は、デバイス上のアプリの状態に依存します：

* ユーザーがアプリをバックグラウンドに送る場合：
  * デバイスはライフサイクルの"sleep"イベントを送信します。
  * インターネット接続が利用可能な場合、デバイスはアプリがバックグラウンドに移行する前に生成されたイベントをすぐに送信します。
* ユーザーがアプリをフォアグラウンドに送る場合：
  * デバイスはキュー内のイベントを送信し、ライフサイクルの"wake"イベントを追加します。

イベントバッチングは、キューが空になるまで複数のイベントを一度に処理することでイベントキューと連携して動作します。

例えば、デバイスがオフラインであり、イベントキューが25のイベントを含むように成長します。デバイスがオンラインになった後、デバイスは10イベントずつバッチでキューを処理し、キューが空になるまで続けます。この場合、10イベントずつの2つのバッチリクエストと、残りの5イベントのための1つのバッチが送信され、合計で25の追跡イベントが3つのネットワークリクエストだけで送信されます。


<blockquote>
バッチの最大サイズは10イベントです。
</blockquote>


## 利点

イベントバッチングの利点には以下のようなものがあります：

* 送信されるデータの総量の削減。
* 同じ数のイベントに対するネットワークリクエストの減少。
* デバイスのバッテリー性能の向上。

### データレイヤの最適化

Tealiumのモバイルライブラリは、アプリ名、画面解像度、OSバージョンなどの[デバイス情報をデータレイヤに送信](https://docs.tealium.com/ja/platforms/getting-started-mobile/data-layer/)します。デバイスはこれらの変数をすべてのネットワークリクエストに含めますが、これらの値はイベント間で変わりません。イベントバッチングはデータレイヤを最適化し、デバイスがこれらの共通変数をバッチごとに一度だけ送信するようにします。

### ペイロードの圧縮

デバイスは、HTTPリクエストのサイズを最小限にするために、イベントバッチのペイロードをgzipで圧縮します。この圧縮により、各ネットワークリクエストのサイズが最大90%削減されます。

### Tealium iQタグ管理のためのイベントバッチング

**Tag Management**モジュールが使用されていて、イベントバッチングが有効になっている場合、デバイスはこれらのイベントを通常通りキューに入れ、それらをWKWebViewインスタンスに対する個別のJavaScript呼び出しとして送信します。デバイスは構成されたタグを個別にトリガーし、これによりデバイスから複数のリクエストが送信されます（バッチ内のイベントごとに1つ）。これにより、デバイスのバッテリー消費が減少します。なぜなら、デバイスのラジオがリアルタイムでイベントを送信するよりも頻繁に起動する必要がないからです。

## サポートされているプラットフォーム

以下のプラットフォームがイベントバッチングをサポートしています：

* [Android](https://docs.tealium.com/ja/platforms/android-java/install/#event-batching)
* [iOS](https://docs.tealium.com/ja/platforms/ios-swift/install/#event-batching)
