AI-generated Key Takeaways
-
InstantAppsClient
provides APIs for interacting with Android Instant Apps. -
It allows developers to check if a device supports Instant Apps and to access the Instant App's data.
-
The Instant App's data is retrieved as a Zip file containing shared preferences, files, and databases, but excludes cache and external storage data.
-
For security, data access is restricted to the calling app's package, and both the Instant App and installed app must be signed with the same keys.
This class is deprecated.
Starting December 2025, Instant Apps cannot be published through Google Play, and all Google
Play services Instant APIs will no longer work. To continue optimizing for user growth, we
encourage developers to refer users to their regular app or game, and using deeplinks to
redirect them to specific journeys or features when relevant.
Main entry point to APIs for Android instant apps.
Example use:
InstantAppsClient client = InstantApps.getInstantAppsClient(context);
Task<ParcelFileDescriptor> fileTask = client.getInstantAppData();
fileTask
.addOnCompleteListener(fileTask -> readData(fileTask.getResult()))
.addOnFailureListener(exception -> handleException(exception));
Public Method Summary
Task<Boolean> |
areInstantAppsEnabledForDevice()
Checks whether this device satisfied all preconditions to run instant apps.
|
Task<ParcelFileDescriptor> |
getInstantAppData()
Retrieves a
ParcelFileDescriptor
to the caller's instant app's data.
|
Inherited Method Summary
Public Methods
public Task<Boolean> areInstantAppsEnabledForDevice ()
Checks whether this device satisfied all preconditions to run instant apps. Default is false.
public Task<ParcelFileDescriptor> getInstantAppData ()
Retrieves a ParcelFileDescriptor
to the caller's instant app's data.
The file format is Zip, which is compatible with Android's native ZipOutputStream
and ZipInputStream
.
What is in the Zip file?
- Shared preferences files.
- Files in the directory returned by
Context.getFilesDir()
. - Files in the directory returned by
Context.getDatabasePath(String)
, which also includes files created with theSQLiteOpenHelper
class. - Files in directories created with
Context.getDir(String, int)
.
Note: Since instant apps cannot access external storage, no information from external storage will be returned.
Files in directories returned by Context.getCacheDir()
,
Context.getCodeCacheDir()
,
or Context.getNoBackupFilesDir()
are excluded. The files saved in these locations are only needed temporarily, or are
intentionally excluded from transfer operations.
Security Requirements:
- You may only request data for your own package. The package name is implied from
calling
Context.getPackageName()
within your app. - You must sign your instant apps and your installed apps with the exact same key(s). i.e. If your instant app has two certificates, your Installed App must as well.