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