1 min read


Last Updated - Platform 25.0 - SDK 20.0

The home screen is a legacy platform screen that has not yet been updated into the SDK. It uses the banners endpoint of the legacy Platform API.

# Home (Tab)

Some legacy navigation falls back to switch to the home tab if the navigation fails.

Dynamic Content

The Home screen (banners response) supports Dynamic Yield but not Dynamic Content in the standard or frontend driven way. Instead, the backend maps Dynamic Yield campaigns to banners at the index defined in the template contract.


The home screen supports some basic banner types and has been adapted to support some newer SDK components.

  • Action Carousel (In-Store)
  • App Story Carousel
  • In-Store
  • Image
  • Image (GIF)
  • Image Carousel
  • Product Carousel (Category)
  • Product Carousel (Recently Viewed)
  • Product Carousel (URL)
  • User Content Carousel
  • Video

App Stories

On app foreground the home loads the banners/% and appstories/apps/%/home and both update the home screen when loaded.

The App Story Carousel supports .circular (default from v25) and .card style cells. Stories (and cells) have unread and read states based on if the user has seen them. The following can be used to customise the type within your AppModule:

func createViewController(forName name: String) -> UIViewController? {
switch TabBarItems(rawValue: name) {
case .home:
let viewController = HomeViewController(nibName: HomeViewController.XibName, bundle: nil)
viewController.storyCarouselType = .circular // Or '.card'.
return viewController.withSearchController()
return nil


Home sends tags (the label query parameter) with the /banners request so the backend can filter and return more appropriate banners for the current state of the app.

When In-Store Mode is active the tag is set to instore from online.