> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auxia.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Firebase イベントトラッキングと BigQuery 連携

<Note>
  日本語版はAIによる翻訳です。正確な情報については[英語版](/data-ingestion/data-connections/firebase-event-tracking-with-gcp-bigquery-integration)をご参照ください。
</Note>

Firebase は、ユーザーインタラクション、アプリライフサイクルイベント、カスタム定義のイベントなど、さまざまなアプリイベントを Firebase Analytics を通じてトラッキングします。これらのイベントは Firebase のリアルタイムデータベースまたは Firestore に保存され、その後詳細な分析とレポーティングのために BigQuery にエクスポートされます。

BigQuery との連携により、クエリと分析が可能な標準化されたスキーマでイベントデータを保存できます。

## Firebase イベントトラッキング

### 1. イントラデイ Firebase イベントデータ

* **定義**:

  イントラデイイベントデータは、Firebase から BigQuery にほぼリアルタイムでエクスポートされます。生成されたイベントデータをキャプチャし、一時的な events\_intraday\_\* テーブルに書き込みます。

* **特徴**:
  * これらのテーブルのデータは最終版ではなく、変更される可能性があります（例: 遅延到着イベントや更新）。
  * 同日のイベントトレンドのリアルタイムモニタリングと分析に便利です。
  * 通常、日末エクスポートが完了すると置き換えまたは上書きされます。

### 2. 日末 Firebase イベントデータ

* **定義**:

  日末イベントデータは、（今日 - 2日）より前の任意の日の最終的なイミュータブルなデータセットで、Firebase から BigQuery にエクスポートされます。日付をサフィックスとした events\_\* という名前の新しいテーブルに書き込まれます（例: 2025年1月8日の場合は events\_20250108）。

* **特徴**:
  * イミュータブル: 一度書き込まれると変更できず、データの整合性と信頼性が保証されます。
  * 遅延到着や更新されたイベントを含む、特定の日に発生したすべてのイベントを集約します。
  * 履歴分析とレポーティングに適しています。
  * 日次アクティビティの完全で一貫した記録を維持するのに役立ちます。

### Firebase のエクスポート処理

* Firebase は**イントラデイテーブル**をリアルタイムで自動更新し、各日の終了後にデータを**日末テーブル**に書き込んで確定します。
* **パーティショニング**:
  * 日末テーブルは効率的なクエリのために event\_date でパーティションされます。
  * イントラデイテーブルは一時的なものであるため、通常パーティション構造に従いません。

### BigQuery へのエクスポート

Firebase Analytics は、統合時にイベントデータを自動的に BigQuery にエクスポートします。イベントは BigQuery テーブルに保存され、スキーマは効率的なクエリとレポーティングを可能にする標準化されたフォーマットに準拠します。スキーマには、イベントレベルのデータとユーザーレベルの情報の両方のキーフィールドが含まれます。

### Auxia が Firebase データを BigQuery と統合するアーキテクチャ

<img src="https://mintcdn.com/auxia/XsfpA_ObWj7oESRX/img/data-ingestion/firebase-architecture-diagram.png?fit=max&auto=format&n=XsfpA_ObWj7oESRX&q=85&s=311cdb498549a266876f511932793426" alt="Firebase Architecture Diagram" width="2048" height="800" data-path="img/data-ingestion/firebase-architecture-diagram.png" />

### 標準 BigQuery スキーマ

以下は、Firebase がアプリイベントデータを BigQuery にエクスポートする標準スキーマです。

* [https://firebase.google.com/docs/analytics/bigquery-export#bigquery\_export\_structure](https://firebase.google.com/docs/analytics/bigquery-export#bigquery_export_structure)

## テーブル取り込みガイドライン

### ビューではなくテーブルを共有

**BigQuery テーブル**をビューの代わりに共有することを推奨します。**コスト効率**、**リアルタイムデータアクセス**、**ワークフローの効率性**の面で大きなメリットがあります。

1. **コストと効率**: テーブルへの直接アクセスにより、**増分データ**を処理できるため、コストと処理時間を削減できます。ビューではデータセット全体の処理が必要で、時間とコストがかかります。
2. **リアルタイムデータ**: 直接アクセスにより、最新のデータで作業でき、より迅速な意思決定が可能になります。
3. **効率性**: テーブルを使用することで、**正確でタイムリーなレコメンデーション**を提供し、**新しいパーソナライゼーションフィールド**をシームレスに統合して、ユーザーエンゲージメントを向上させることができます。

要約すると、テーブルへの直接アクセスにより**効率性**、**リアルタイム分析**、**パーソナライゼーション**が向上し、より効果的なコラボレーションにつながります。

### 'enable\_change\_history=TRUE' の設定

取り込むテーブルごとに [`enable_change_history=TRUE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#table_option_list) を設定する必要があります。以下のコマンドを実行してください。

```sql theme={null}
-- Remember to swap 'your-table-name' with the name of your BigQuery table
ALTER TABLE `your-table-name`
SET OPTIONS(enable_change_history=TRUE);
```

これは、Auxia が効率的でリアルタイムな特徴量作成のためにデータを増分的に取り込む際に、['CHANGES' テーブル値関数](https://cloud.google.com/bigquery/docs/reference/standard-sql/table-functions-built-in#changes)または ['APPENDS' テーブル値関数](https://cloud.google.com/bigquery/docs/reference/standard-sql/table-functions-built-in#appends)を使用するために必要です。

## Auxia との BigQuery データセット共有ガイドライン

BigQuery データセットを Auxia と共有する方法の詳細については、Auxia の [Google BigQuery](/ja/data-ingestion/data-connections/google-bigquery) 統合ドキュメントをご参照ください。
