---
title: オートトラッキングモジュール
description: 特定のユーザーインターフェースのインタラクションが発生したときに自動的にトラッキング呼び出しをトリガーします。例えば、タップ、スワイプ、画面表示など。
url: https://docs.tealium.com/ja/platforms/ios-swift-v1/module-list/autotracking/
---
## 使用法
オートトラッキングモジュールは、特定のユーザーインターフェースのインタラクションが発生したときに自動的にトラッキング呼び出しをトリガーします。例えば、タップ、スワイプ、画面表示など。一般的に、以下の理由からこのモジュールの使用は推奨されず、**推奨されません**：

* メモリ使用量の増加。
* Tealiumの制御外のUI変更によりクラッシュが発生する可能性の増加。例えば、トラック呼び出しが完了する前にUIコンポーネントが割り当て解除されるなど。
* バッテリー消費の増加。
* 望まない追加のトラッキング呼び出し。
* 追加のトラッキングデータ/イベントを追加する必要性を完全には取り除かないため、追加のコーディングが依然として必要です。

オートトラッキングの代わりに、トラッキングとデータの取得を慎重に計画し、開発者が適切なタイミングでこのデータをTealiumに渡すことを強く推奨します。オートトラッキングはTealiumの評価を行い、迅速な実装が必要な場合に有用かもしれませんが、それだけで全てのトラッキング要件を満たすことはほぼありません。

以下のプラットフォームがサポートされています：

* iOS
* tvOS

## 機能

オートトラッキングモジュールは以下の機能を提供します：

* `UIViewController`ビューの出現からトラック呼び出しを自動的にトリガーします。
* ボタンのタップなどのUIイベントのトラック呼び出しを自動的にトリガーします。
* 自動トラッキングデータの報告または抑制のためのデリゲートメソッドを含みます。
* `UIApplication`と`UIViewController`クラスにメソッドスウィズリングを使用します。アプリでスウィズリングを避ける場合は無効化/除外してください。

## 要件

* UIKit
* UIApplication

## インストール

CocoaPodsまたはCarthageでオートトラッキングモジュールをインストールします。

### CocoaPods

CocoaPodsでオートトラッキングモジュールをインストールするには、以下のpodをPodfileに追加します：  
```ruby
pod 'tealium-swift/TealiumAutotracking'
```

フレームワークは自動的にインスタンス化されます。`TealiumCore` podに依存性があります。iOSのCocoaPodsインストールについては[こちら](https://docs.tealium.com/ja/platforms/ios-swift-v1/install/#cocoapods)をご覧ください。

### Carthage

Carthageでオートトラッキングモジュールをインストールするには、以下の手順を実行します：

1. Xcodeでアプリターゲットの一般構成ページに移動します。

2. 以下のフレームワークを**Embedded Binaries**セクションに追加します：  
    ```ruby
    TealiumAutotracking.framework
    ```

フレームワークは自動的にインスタンス化されます。`TealiumCore`に依存性があります。追加のインポートステートメントは必要ありません。iOSのCarthageインストールについては[こちら](https://docs.tealium.com/ja/platforms/ios-swift-v1/install/#carthage)をご覧ください。

### ブリッジングヘッダー
このモジュールはObjective-Cコードから移植されており、そのため、ブリッジングヘッダーが必要です。

ブリッジングヘッダーを作成するには：

1. Swiftプロジェクトで新しいファイルを作成します。ファイルタイプを選択するように求められたときに、"Objective-C File"を選択します。

2. このファイルに一時的な名前を付けます。例えば`placeholder.m`など。後で削除する予定です。

3. **Finish**をクリックします。Xcodeがブリッジングヘッダーの作成を促します（すでにプロジェクトにブリッジングヘッダーがある場合は促されません）。**Create Bridging Header**をクリックして続行し、Xcodeに新しいヘッダーファイルを作成させます。

4. `placeholder.m`をプロジェクトから削除します。新しいファイル`ProjectName-Bridging-Header.h`が作成されたことに注意してください。

5. 新しいブリッジングヘッダーに以下のインポートステートメントを追加します：  
    ```swift
    #import "uiapplication+tealiumtracker.h"
    #import "uiviewcontroller+tealiumtracker.h"
    ```

## データレイヤー

モジュールが有効な間、各トラッキング呼び出しに以下の変数が送信されます：

| 変数  | 説明                                             | 例  |
|---------------|---------------------------------------------------------|---------------|
| `autotracked`   | オートトラッキング呼び出しにtrueが構成され、追加されます。 | [`"true"`, `"false"`]          |

## APIリファレンス

以下のメソッドは、オートトラッキングモジュールのデフォルトの動作を変更するため、またはオートトラッキング呼び出しを監視するために利用できます：

### `tealiumAutotrackingShouldTrack()`

```swift
tealiumAutotrackingShouldTrack(data: [String:Any]) -> Bool
```

| パラメータ | タイプ | 説明                                                      | 例   |
|------------|------|----------------------------------------------------------------- |-----------------|
| `data`     | `String` or `[String]` | StringキーとAny値タイプの辞書 | `["key":"value"]` |


### `tealiumAutotrackDidComplete()`

```swift
tealiumAutotrackDidComplete(success:Bool, info:[String:Any]?, error:Error?)
```

| パラメータ | タイプ | 説明 | 例  |
|------------|------|----------| --- |
| `success`  | `Bool` | オートトラックトリガー呼び出しが成功したかどうか | [`"true"`, `"false"`]      |
| `info`     | `String` or `[String]`  |(オプション) 配信タイプ情報、最終呼び出しフォーマット、ペイロード（呼び出しを生成するために使用されたデータ辞書）を保持します |             |
| `error`    | `Error` | エラー（ある場合）    |               |
