2

Keep user state after app installation

https://developer.android.com/topic/instant-apps/ux-best-practices.html#keep_user_state_after_app_installation

I want to use the data stored in instant app, after installation full app.
Does anyone know it?

bina
  • 181
  • 4
  • can you provide what user state you want to restore? You can write your user info in persistent storage, later when you open your app, you read it again. – Uddhav P. Gautam Jul 24 '17 at 07:58
  • @UddhavGautam Thank you for your comment. The data I want to restore are images downloaded in instant app. – bina Jul 24 '17 at 11:41
  • If you save that images to internal storage, you can always access it from the installable app. – Pinkesh Darji Jul 25 '17 at 09:15

1 Answers1

4

UPDATE They’ve again updated the Instant Apps FAQ on how to do this.

For devices running Android 8.0 (API level 26) or higher, the instant app's data is transferred automatically when the APK installation begins, if the installed app is configured to use targetSandboxVersion 2.

For installed apps not configured to use targetSandboxVersion 2, or devices running Android 7.1 (API level 25) or lower, please consider using the Cookie API (Sample) or Storage API (Sample) to transfer the data.

For Oreo 8.0 and higher, it should be automatically handled.

But for 7.0 and below, you've got 2 options (#1 is recommended):

  1. PackageManagerCompat#setInstantAppCookie(), the cookie has a size limit, but it is the simplest and most suitable for shared preferences.
  2. InstantAppsClient#getInstantAppData(), creates a ZIP of the data that you'll have to extract and parse once it's moved over to the installed-app side, a bit more complicated.

The FAQ lists a sample for each option:

The Storage API/ZIP sample does not show you how to parse the ZIP files and what file type/format to expect from SharedPreferences files, so you'll have to implement that yourself, but here are some related posts:

TWL
  • 6,228
  • 29
  • 65