Core Content and Sub-Categories

In many apps, it is common to have sub-categories of tags or labels that describe Core Content that you use to engage your audience.

Below are some examples of this type of nested sub-category structure that may be found in different categories of apps.

App TypeExample of Tags
MediaVideo > Sports > Baseball
Video > Sports > Basketball
GameLevel 1 Areas > Hidden Area
Level 1 Areas > Sub Region
TravelTrip > Flight Screen
Trip > Hotel Screen
Trip > Local Map

In each case, Nami will roll up Core Content following the tag structure. Let's talk about each example in a bit more detail.


In a streaming video app, you may have a number of top level categories of content such Sports, Entertainment, and Politics. In the sports example, you may then have sub-categories for each sport, and then maybe even specific teams or players in each sport.

In this example, let's say the label Video > Sports > Baseball has been called 5 times and Video > Sports > Basketball has been called 2 times.

Nami would then have the following totals stored about Video views on that device

  • 5 Baseball videos have been watched
  • 2 Basketball videos have been watched
  • 7 sports videos have been watched
  • 7 videos total have been watched


In a game example, one type of core content might be a level or map. Inside of each level or map there may be different regions or areas that are not as commonly accessed or help show that the player is more deeply exploring the game in the level or map is large.

Tagging this structure allows Nami to easily count all the sub-areas contained in a single level or map as well as have an accurate count of the total number of times the map or level has been played in your app.

In the game example in the table above if Level 1 > Hidden Area is called 10 times and Level 1 > Sub Region is called 50 times Nami would record the following totals:

  • 60 Level 1 Areas were accessed
  • Hidden Areas in Level 1 were accessed 10 times
  • Sub Region was accessed 50 times


In a travel app you might have a screen that stores all the information about a customer's upcoming trip. That might include itineraries, tickets for events at the location, flight and accommodation information, rental car, and other trip-related information.

If a user looks at their Flight Information 3 times, their hotel 1 time, and a local map 5 times, with the labels in the table above, Nami would know:

  • 9 trip sub-screens have been accessed
  • 3 flight information screens for a trip has been accessed
  • 5 local maps associated with a trip have been accessed
  • 1 hotel for a trip has been accessed


Always have at least 1 sub-category when using the multiple labels calls

It is important to have at least one sub-category when using the Core Content calls that support multiple labels.

If you only have a single label or category, please use the method that takes a single string.

The calls you would make to label a sports example like the one above are shown in the example below.

override func viewWillAppear(_ animated: Bool) {        
  Nami.enterCoreContent(labels: ["video", "sports", "basketball"])

override func viewWillDisappear(_ animated: Bool) {
  Nami.exitCoreContent(labels: ["video", "sports", "basketball"])


Note the importance of the order!

The order of the labels passed into the Core Content call must start with the top-level category and move into smaller and smaller categories.