AI-generated Key Takeaways
- 
          
The App Index API includes interfaces for representing user actions and indexable units.
 - 
          
There are builder classes available for creating Action, Indexable, and Indexable.Metadata objects.
 - 
          
Direct use of the play-services-appindex SDK for AppIndex and UserActions is not supported.
 - 
          
Exceptions such as AppIndexException, AppIndexInvalidArgumentException, and AppIndexTooManyArgumentsException can be thrown by the App Index API methods.
 
Interfaces
| Action | Represents an action taken by the user within the app. | 
| Indexable | Represents an indexable unit. | 
| Indexable.Metadata | Represents the metadata for an Indexable.  | 
          
Classes
| Action.Builder | The builder for Action.  | 
          
| AppIndex | |
| Indexable.Builder | The builder for Indexable.  | 
          
| Indexable.Metadata.Builder | The builder for Indexable.Metadata.  | 
          
| ThingPropertyKeys | This class contains Bundle keys for setting
            Indexable
            properties.  | 
          
| UserActions | 
Exceptions
| AppIndexException | Class of exceptions thrown by the App Index API. | 
| AppIndexInvalidArgumentException | The exception that is thrown if an invalid argument is provided to one of the App Index API methods. | 
| AppIndexTooManyArgumentsException | The exception that is thrown if the number of
            arguments passed to an App Index API method in a single call exceeds the allowed
            maximum of Indexable.MAX_INDEXABLES_TO_BE_UPDATED_IN_ONE_CALL.  |