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

# Display User Interfaces

# Overview

The OneTrust SDK manages several different user interfaces to display to a user. Before showing how to display them, please review the list of interfaces below.

## CMP Views

[block:parameters]
{
  "data": {
    "h-0": "View",
    "h-1": "Description",
    "0-0": "Banner",
    "0-1": "Notice to the user of their privacy rights. It has configurable text and buttons for **Accept All**, **Reject All**, **Manage Preferences**, and **Close Banner**.<br><br> 📘** <span style=\"color:skyblue\">Note</span>**<br><br>Each of these buttons can be toggled on/off in the Admin Console.",
    "1-0": "Preference Center",
    "1-1": "An interface for the user to view their current profile settings and update their choices based on the configuration provided for them. It has configurable text and buttons for **Accept All**, **Reject All**, **Save Settings**, and **Close Preference Center**. <br><br> 📘** <span style=\"color:skyblue\">Note</span>**<br><br>You can choose to hide each button except the **Save Settings** button. This one is required for users to update their choices.",
    "2-0": "Purpose Details",
    "2-1": "Sub-view of the Preference Center.  Displays more details about the purpose.  It will display child purposes and links to **Vendor List** and **SDK List** if configured.",
    "3-0": "SDK List",
    "3-1": "An interface to show a granular list of SDKs to the user. This list may be filtered by category to provide more transparency to the user.<br><br> 📘** <span style=\"color:skyblue\">Note</span>**<br><br>This can be hidden in **Template Settings** in the Admin Console.",
    "4-0": "Vendor List",
    "4-1": "An interface, shown only for **IAB2** type templates that displays a list of both **IAB** and **Google** vendors in scope of the application. This provides a way for users to opt in/out of consent for a particular vendor.",
    "5-0": "Vendor Details",
    "5-1": "A child interface of Vendor List, that shows more granular information about a vendor and its purposes, legitimate interest, special feature, and special purpose settings."
  },
  "cols": 2,
  "rows": 6,
  "align": [
    null,
    null
  ]
}
[/block]

# MAUI

## Display Banner

> 📘
>
> Before you attempt to display a banner, ensure that the **Show Banner** setting on your geolocation rule is set to `true`.  If it is set to `false`, the banner will never show.
>
> Additionally, the `shouldShowBanner` SDK logic will decide to show or hide a banner.  Please review the `shouldShowBanner` logic.

To display a banner built with OneTrust UI, follow the next steps:

1. Configure an event handler for the `OTUI_DataIsReady` UI event.
2. Within that event handler, add a checkmark to the `shouldShowBanner` checkbox.
3. If `shouldShowBanner: true`, call the `MainPageViewModel.LoadBanner()` method.

```c MAUI
// For MAUI, you control when and where the Banner is shown.
// Thus it is important to do this after the OTUI_DataIsReady event fires.
private async void OneTrustContentViewer_OTUI_DataIsReady(object sender, EventArgs e)
        {
            // ONCE THE SDK STARTS, THIS EVENT FIRES.
            System.Diagnostics.Debug.WriteLine("!!! OT SDK READY !!! ");
            // show the demo app user interface
            OTSDKDidLoad = true;
            // if we are supposed to show the banner, then load it.
            if (OTSDKHelper.ShowBanner)
            {
                await LoadBanner();
            }
            // print the log file
            printLog();
        } 
```

## Display Preference Center

> 📘
>
> Before you attempt to display a Preference Center, you need to decide how/where in the application you plan to expose a button/link that will trigger it to be shown.  This is the most common use case across OneTrust.

To display a Preference Center built with OneTrust UI, follow the next steps:

1. Configure your button click event handler or command.
2. Call `MainPageViewModel.LoadPreferenceCenter()`

```c# C#XML
// Event Handler for Example Button
public ICommand ShowPreferenceCenter { get => new Command(async () => await ShowPreferenceCenterTask()); }
        private async Task ShowPreferenceCenterTask()
        {
            if (string.Equals(Preferences.Get("SDK_Loaded", "false"), "false"))
            {
                await ShowMessageAsync("SDK not loaded", "Warning", "Ok");
                return;
            }
            await LoadPreferenceCenter();
        }
```

# .Net Native iOS and .Net Native Android

## Display Banner

For both .Net Native iOS and .Net Native Android, the banner loads automatically based on SDK logic. The application can manually show the banner using this method:

```c# .Net Native iOS
OTSDK.sharedInstance.loadBanner();
```
```Text .Net Native Android
OTSDK.sharedInstance.loadBanner();
```

## Display Preference Center

```c# .Net Native iOS
OTSDK.sharedInstance.loadPreferenceCenter();
```
```Text .Net Native Android
OTSDK.sharedInstance.loadPreferenceCenter();
```