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

ViewDescription
BannerNotice to the user of their privacy rights. Has configurable text and buttons for Accept All, Reject All, Manage Preferences, and Close Banner. Note: Each of these buttons can be toggled On/Off in the Admin Console.
Preference CenterAn interface for the user to view their current profile settings and update their choices based on the configuration provided for them. Has configurable text and buttons for Accept All, Reject All, Save Settings, and Close Preference Center. Note: You can choose to hide each button except Save Settings - this is required for a User to update their choices.
Purpose DetailsSub-view of Preference Center. Displays more details about the purpose. Will display child purposes if configured. Will display links to Vendor List and SDK List if configured.
SDK ListAn 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. Note: This can hidden in Template Settings in the Admin Console
Vendor ListAn interface, shown only for IAB2 type templates, 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.
Vendor DetailsA child interface of Vendor List, this view shows more granular information about a vendor and its Purpose, Legitimate Interest, Special Feature, and Special Purpose settings.

Xamarin Forms

Display Banner

📘

Note: Before you attempt to display a Banner, you need to first make sure the Show Banner setting on your Geolocation Rule is set to true. If it's set to false, a Banner will never show.

Additionally, the SDK has shouldShowBanner logic where it will make a decision to show/hide a banner. Please review the shouldShowBanner logic.

To display a Banner built with OneTrust UI, you'll need to:

  1. Configure an event handler for OTUI_DataIsReady UI event.
  2. Within that event handler, include the shouldShowBanner check
  3. If shouldShowBanner: true, call the OneTrustContentViewer.LoadBanner() method.

Example:

// For Xamarin Forms, 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 COMPLETES INIT, THIS EVENT FIRES.
  System.Diagnostics.Debug.WriteLine("!!! OT SDK READY !!! ");

  // if we are supposed to show the banner, then load it.
  if (CMPSDK.sharedInstance.shouldShowBanner) { 
    OneTrustContentViewer.LoadBanner();
  }
  
  await Task.CompletedTask;
}

Display Preference Center

📘

Note: 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 clients.

To display a Preference Center built with OneTrust UI, you'll need to:

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

Example:

// Event Handler for Example Button
public ICommand ShowPreferenceCenter { get => new Command(async () => await ShowPreferenceCenterTask()); }

private async Task ShowPreferenceCenterTask()
{

  // Load OneTrust Preference Center
  OneTrustContentViewer.LoadPreferenceCenter();
  
  await Task.CompletedTask;
}
<!-- Example Application Button --> 
<Button 
  Margin="0,10,0,0" 
  Text="TEST PREF CENTER" 
  Command="{Binding ShowPreferenceCenter}" 
  BackgroundColor="Green" 
  TextColor="White"
></Button>

Xamarin.iOS and Xamarin.Android

Display Banner

For both Xamarin.iOS and Xamarin.Android, the Banner loads automatically based on SDK logic. That said, application can manually show the Banner using this method:

OTSDK.sharedInstance.loadBanner();
OTSDK.sharedInstance.loadBanner();

Display Preference Center

OTSDK.sharedInstance.loadPreferenceCenter();
OTSDK.sharedInstance.loadPreferenceCenter();