Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What you need to know about Instant Apps

What you need to know about Instant Apps

Android Instant Apps allow users to download and use the features of an Android app, without installing the entire application. In this talk we’ll introduce what instant apps are and how they work, discuss some of the problems you’ll face when building one, and show you can help your Android team build an instant app, even if you are not an Android Developer yourself!

Jamie Adkins

December 19, 2019
Tweet

More Decks by Jamie Adkins

Other Decks in Technology

Transcript

  1. What we’ll cover today • What are Android Instant Apps?

    • What are Dynamic Features? • What are Instant Apps difficult to build? • Should you build an Instant App?
  2. What are Instant Apps? Instant Apps are features in your

    Android App that users can use, without ever installing your application.
  3. CWC19 Quiz Instant App • Search “Cricket World Cup quizzes”

    Sometimes this doesn’t trigger the instant app. Google Search Indexing ¯\_(ツ)_/¯ • Or find the ICC app on the Play Store, and click “try now”.
  4. What are Dynamic Features? • At Install Time ◦ Download

    this feature when the user installs my app from the Play Store. • Conditional ◦ Download this feature when the user installs my app from the Play Store if their device meets some conditions. • Instant enabled ◦ Download just this feature when the user clicks on a link. • On Demand ◦ Don’t download this feature at install time, download it later when the user wants to use that feature.
  5. Instant App Problems • 4MB download size limit • Dependency

    Injection • Android Manifest merging • Supporting old versions of Android • Styles and Themes • Bugs in Android Studio and the Android Gradle Plugin • Limited permissions • Navigation
  6. Instant App Problems • 4MB download size limit • Dependency

    Injection • Android Manifest merging • Supporting old versions of Android • Styles and Themes • Bugs in Android Studio and the Android Gradle Plugin • Limited permissions • Navigation
  7. 4MB Download Size Limit • Apps ◦ < 10MB to

    activate the try now button ◦ < 4MB to surface through Google Search and direct links • Games ◦ < 10MB for all instant app triggers
  8. What’s in the 4MB? • Android/AndroidX - 1.2MB • Material

    Design - 500KB • Firebase - 60KB ◦ Google Play Services - 750KB • Common ICC/CWC assets - 500KB • CWC Fonts - 200KB • Common ICC/CWC code - 500KB • Quiz code & assets - 250KB • Total - 3.95MB
  9. What’s in the 4MB? • Android/AndroidX - 1.2MB • Material

    Design - 500KB • Firebase - 60KB ◦ Google Play Services - 750KB • Common ICC/CWC assets - 500KB • CWC Fonts - 200KB • Common ICC/CWC code - 500KB • Quiz code & assets - 250KB
  10. What’s in the 4MB? • Android/AndroidX - 1.2MB • Material

    Design - 500KB • Firebase - 60KB ◦ Google Play Services - 750KB • Common ICC/CWC assets - 500KB • CWC Fonts - 200KB • Common ICC/CWC code - 500KB • Quiz code & assets - 250KB
  11. Should you build an Instant App? Do you have a

    self contained feature that works well on its own, without the rest of your app?
  12. Should you use dynamic features? • Yes! • Features that

    not every user can use should be installed conditionally. • Large Features that not many users use should be downloaded on demand. • Don’t punish your users by forcing them to download a feature that they can’t/won’t use! • “For every 6 MB increase to an APK’s size, we see a decrease in the install conversion rate of 1%.” - Google
  13. Key Takeaways • Instant apps are very very cool! •

    All the ease of access and small download size of a web page, combined with the benefits of a native app • Reduce the barrier to entry for installing your full app • It will make your installed app smaller too • But they’re very hard to do • Not everyone has a use case for them
  14. Further Reading • Plaid Sample App - Google https://github.com/android/plaid •

    Ben Weiss https://medium.com/@keyboard surfer • Android Docs https://developer.android.com/to pic/google-play-instant • https://developer.android.com/st udio/projects/dynamic-delivery @jamieadkins95 @jamieadkins95