# View Tracking

In MBAutomation the tracking of the views is automatic, you can disable it initializing `MBAutomation` with `trackViewsAutomatically` to `false`. `MBAutomation` uses [method swizzling](https://nshipster.com/method-swizzling/) to track view automatically on `viewDidAppear`.

The default name for all the ViewControllers is the class name (e.g. if your ViewController is called HomeViewController you will see HomeViewController as the view). If you want to change the name for a ViewController you can setup the `mbaTrackingName` of the ViewController.

```swift
import MBAutomationSwift

override func viewDidLoad() {
    super.viewDidLoad()
     ...

    mbaTrackingName = "Home"
    ...
}
```

You can send additional data with the view event setting the `mbaTrackingMetadata` property of the ViewController, those will be displayed in the metadata field of the dashboard.

If you have diisabled the automatic tracking and you still want to track the views you can use this function, passing a `UIViewController`.

```swift
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    MBAutomation.trackScreenView(self)
}
```

As the events, views are saved in a local database and sent to the server every 10 seconds and you can change the frequency setting the `eventsTimerTime` property.
