--- title: "Pages" slug: "mapp-intelligence-ios-sdk-v5-pages" updated: 2026-04-30T11:40:02Z published: 2026-04-30T11:40:02Z canonical: "docs.mapp.com/mapp-intelligence-ios-sdk-v5-pages" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Pages Page tracking records screen views in your iOS app. The SDK offers three entry points so you can pick the level of detail that fits your use case — see [Methods](/docs/mapp-intelligence-ios-sdk-v5-pages#methods) below. Before you start, complete the [Quickstart](/v1/docs/mapp-intelligence-ios-sdk-v5-quickstart) so the SDK is initialized. --- ## Methods | Method | Use for | | --- | --- | | `trackPage(with: String)` | Quick page tracking by page name only — no extra parameters. | | `trackPage(_ event: MIPageViewEvent)` | Object-oriented tracking with attached page, session, user, e-commerce, or campaign parameters. | | `trackPage(with: UIViewController, pageViewEvent: MIPageViewEvent?)` | Track a page from inside a view controller. The SDK reads the page name from the controller's class name when the event is omitted. | --- ## Build a page event Use `MIPageViewEvent` to assemble a page request. Attach `MIPageParameters` for page-level data. You can additionally attach any of these optional parameter objects: - `MISessionParameters` — see [Sessions](/v1/docs/mapp-intelligence-ios-sdk-v5-sessions) - `MIUserCategories` — see [Users](/v1/docs/mapp-intelligence-ios-sdk-v5-users) - `MIEcommerceParameters` + `MIProduct` — see [Products and Orders](/v1/docs/mapp-intelligence-ios-sdk-v5-products-and-orders) - `MICampaignParameters` — see [Campaigns](/v1/docs/mapp-intelligence-ios-sdk-v5-campaigns) ### MIPageParameters | Property | Description | | --- | --- | | `internalSearch` | Internal search term entered on the page. | | `details` | Dictionary of numbered page parameters (`NSNumber` → `NSString`). | | `groups` | Dictionary of numbered page categories (groups). | --- ## Examples ### Track a page by name The simplest form — pass a page name string. Useful for quick instrumentation when you don't yet need parameters. **Swift** ```swift MappIntelligence.shared()?.trackPage(with: "Home") ``` **Objective-C** ```objectivec [[MappIntelligence shared] trackPageWith:@"Home"]; ``` ### Track a page with detailed parameters Build an `MIPageViewEvent` and attach the parameter objects you need. This example combines page parameters with session parameters. **Swift** ```swift override func viewDidAppear(_ animated: Bool) {    super.viewDidAppear(animated)    let pageEvent = MIPageViewEvent(name: "Product Detail")    pageEvent.pageParameters = MIPageParameters(dictionary: [        1: "category-shoes",        2: "running"    ])    pageEvent.sessionParameters = MISessionParameters(dictionary: [        1: "loggedIn"    ])    MappIntelligence.shared()?.trackPage(pageEvent) } ``` **Objective-C** ```objectivec - (void)viewDidAppear:(BOOL)animated {    [super viewDidAppear:animated];    MIPageViewEvent *pageEvent = [[MIPageViewEvent alloc] initWithName:@"Product Detail"];    pageEvent.pageParameters = [[MIPageParameters alloc] initWithDictionary:@{        @1: @"category-shoes",        @2: @"running"    }];    pageEvent.sessionParameters = [[MISessionParameters alloc] initWithDictionary:@{        @1: @"loggedIn"    }];    [[MappIntelligence shared] trackPage:pageEvent]; } ``` ### Track a page from a view controller Pass `self` and let the SDK derive the page name from the view controller's class name. Pass `nil` as the second argument when you don't need to attach any parameters. **Swift** ```swift override func viewDidAppear(_ animated: Bool) {    super.viewDidAppear(animated)    MappIntelligence.shared()?.trackPage(with: self, pageViewEvent: nil) } ``` **Objective-C** ```objectivec - (void)viewDidAppear:(BOOL)animated {    [super viewDidAppear:animated];    [[MappIntelligence shared] trackPageWithViewController:self pageViewEvent:nil]; } ``` > [!NOTE] > For SwiftUI views, trigger page tracking from `.onAppear` using `trackPage(with:)` or `trackPage(_:)`. --- ## Related - [Quickstart](/v1/docs/mapp-intelligence-ios-sdk-v5-quickstart) - [Object Oriented Tracking](/v1/docs/mapp-intelligence-ios-sdk-v5-object-oriented-tracking) - [Events](/v1/docs/mapp-intelligence-ios-sdk-v5-events) - [Sessions](/v1/docs/mapp-intelligence-ios-sdk-v5-sessions)