Overview

An AppCard is a grouping of UI elements with styling controlled by the OEM, and populated with information provided by apps. AppCards display an app's most relevant data and functionality to users in a way that is accessible and always available.

AppCard components

Figure 1. AppCard components.

Third-party developers can use AppCards to:

  • Display the status of a takeout food order to a driver while en route.
  • Show photos to passengers in vehicles to form a pleasant ambiance.
  • Track and periodically update the price of crypto coins for investors.

Examples include:

AppCard examples

Figure 2. AppCard examples.

AppCard

Source: AppCard.kt

An AppCard is an object that holds data. We support an ImageAppCard, that has two states. When defining any type of AppCard, each component must have a unique ID.

Figure 3. Image with text.

Figure 4. Progress bar and buttons with text.

AppCard ContentProvider

Source: AppCardContentProvider.kt

A content provider that exists in an app, creates AppCards, and is instantiated and communicates with AppCardHost. To learn more, see AppCardContentProviderExtension.

AppCard Host

Source: AppCardHost.kt

A system app that connects to AppCardContentProvider(s) to display and manage App Cards. To learn more, see Configure an AppCard host.

AppCard Context

Source: AppCardContext.kt

An object that provides hints to an AppCardContentProvider about how an AppCardHost might display an AppCard. AppCardContext contains this information:

  • API level
  • Refresh period for:

    • Complete AppCard updates
    • AppCard components tagged with EnforceFastUpdateRate
  • Is the host to support interactions with AppCard?

  • Maximum image size:

    • Center image
    • Button image
    • Header image
  • Minimum number of buttons expected to be displayed.

This information allows AppCard developers to optimize the information sent to hosts.