Save 37% off PRO during our Black Friday Sale! »

Android Instant Apps - An Introduction

Android Instant Apps - An Introduction

This talk covers a very basic introduction about Android Instant Apps, focusing more on the experience and its product side and less on its technical challenges.

It tries to overview how are they implemented, why are they important and which use cases should be covered.

E24250ad371aa55fbaa329e0d01f60a1?s=128

Filipe Mendes

January 10, 2018
Tweet

Transcript

  1. Android Instant apps An introduction @fmendes6

  2. Instant apps are a… Modularization and Optimization
 Problem Plus configurations

  3. None
  4. None
  5. None
  6. “It can take less than 
 a day of work

    to 
 get set up”
  7. None
  8. “Depending on
 how your app 
 is built”

  9. None
  10. None
  11. I went on a mission to try it…

  12. …but it didn’t work.

  13. 1 2 3

  14. 1 2 3

  15. 1 2 3

  16. Still didn’t work.

  17. None
  18. First it did.

  19. 1 2

  20. 1 2

  21. Then it didn’t anymore.

  22. 1 2 3

  23. 1 2 3

  24. 1 2 3

  25. So I tried outside the browser.

  26. None
  27. And it worked always.

  28. None
  29. What is an instant app?

  30. “…enables native Android applications to run in response to launching

    a URL, without installing the app.”
  31. Support ? 2016 2018 (?) 2017

  32. Why do we need an instant app?

  33. Vimeo increased session 
 duration by 130% Jet increased conversion


    rate by 27% NY Crosswords 2x number of sessions
 per user
  34. dotloop 62% increase in users
 who sign a document Onefootball

    # users who read news 
 and share content 
 increased 55% realtor.com 2x number of leads 
 per property listing 
 details pageview.
  35. How does it work?

  36. <click>

  37. <click> feature.apk

  38. <click> “nope”

  39. <click> “nope” Broadcast
 Intent
 Handle URL

  40. How do we implement an instant app?

  41. “Depending on
 how your app 
 is built”

  42. I - Android Project Topeka App Phone & Tablet Module

  43. II - Splitting App & Base Topeka APP Phone &

    Tablet Topeka-Base Feature
  44. II - Adding Instant App Topeka APP Phone & Tablet

    Topeka-Base Feature Topeka-InstantApp Instant App
  45. III - Defining App Links

  46. III - Defining App Links

  47. III - Defining App Links

  48. III - Defining App Links myshoppingapp://products/600613 https://<my-shopping-app-domain>.com/products/600613

  49. Build & Run

  50. II - Adding Instant App Topeka APP Phone & Tablet

    Topeka-Base Feature Topeka-InstantApp Instant App
  51. IV - Multi-Feature Topeka APP Phone & Tablet Topeka-Base Feature

    Topeka-InstantApp Instant App Feature #1 Feature #2
  52. IV - Multi-Feature Topeka APP Phone & Tablet Topeka-Base Feature

    Topeka-InstantApp Instant App Feature #1 Feature #2
  53. IV - Multi-Feature Topeka APP Phone & Tablet Topeka-Base Feature

    Topeka-InstantApp Instant App Feature #1 Feature #2
  54. Recap

  55. Application Module .aar .aar .apk .aar

  56. Instant App Module .apk .apk .zip .apk

  57. What use cases should an instant app cover?

  58. Use Cases “Instant Apps are driven by actions and should

    be available to users right when they are needed.”
  59. Use Cases

  60. Use Cases 
 “Instant Apps should focus primarily on helping

    users complete whatever task they set out to do with as little friction as possible, not drive full app installs.”
  61. However…

  62. Unsupported Features • Long-running background services • Manifest-registered broadcast receivers

    • Externally accessible content providers • Re-engagement notifications
  63. Security?

  64. None
  65. Security • During development you need to prove that you

    own the domain through some .json configuration files. • The Instant App has limited access to handheld device-spec info, fe. MMI, Mac address, etc. • Access is denied automatically, so even as a developer, you cannot get access to this data. • However, you will have full access to Android ID and Ad ID.
  66. What about 
 UI/UX?

  67. Before and After

  68. No additional Splash Screens

  69. Allow task completion

  70. Publishing?

  71. Publishing • Code signing • Well formatted Intent Filters for

    proper deep linking • Each feature module plus the base module needs to be below 4mb.
  72. APK size

  73. APK Size Reduction • Refactor the codebase • Remove unused

    resources • Use more efficient file formats like WebP. • Download assets at runtime, if it makes sense and if possible. • Review internal/external libraries
  74. But there is more…

  75. Other concerns • The user state should be kept after

    the app gets installed. • Proguard may need to be reconfigured. • Injected dependencies may need some adjustments. • It can be challenging to move from a custom layered architecture to an Instant App ready architecture.
  76. User Story

  77. “Reserve time for developing the instant app and stop developing

    features during this time. This makes refactoring and moving code a lot easier. It took us about 4–5 weeks for a first releasable version.”
  78. “It can take less than 
 a day of work

    to 
 get set up”
  79. None
  80. Let’s discuss some possible conversions

  81. None
  82. 1 2

  83. 1 2

  84. None
  85. 1 2

  86. 1 2

  87. None
  88. It’s not on Google Play :(

  89. Instant apps are a… Modularization and Optimization
 Problem Plus configurations

  90. Thank you! Questions? @fmendes6

  91. References General • https://developer.android.com/topic/instant-apps/guides/index.html • https://medium.com/inloop/android-instant-apps-part-2-7bebb74fa7bb • https://techbeacon.com/how-deploy-android-instant-apps-web-apps-take- native-apps •

    https://speakerdeck.com/cyrilmottier/introduction-to-android-instant-apps • https://developer.android.com/topic/instant-apps/overview.html • https://www.youtube.com/watch?v=cosqlfqrpFA • https://developer.android.com/stories/index.html • https://developer.android.com/topic/instant-apps/ux-best-practices.html Reducing APK size • https://android-developers.googleblog.com/2017/08/android-instant-apps- best-practices-for.html • https://speakerdeck.com/pareshmayani/generating-efficient-apk-by-reducing- size-and-improving-performance • https://developer.android.com/topic/instant-apps/prepare.html • https://developer.android.com/topic/performance/reduce-apk-size.html
  92. References Developer Stories • http://rea.tech/building-the-realestate-com-au-android-instant-app/ • https://willowtreeapps.com/ideas/an-introduction-to-android-instant-apps • https://medium.com/jet-stories/make-your-app-instant-33855ab5d02b •

    https://medium.com/vimeo-engineering-blog/vimeo-android-instant- apps-2f8b1e94760c • https://tech.ticketmaster.com/2017/05/18/ticketmaster-demonstrates-cutting- edge-android-instant-apps-technology-at-google-io/ • https://medium.com/nos-digital/some-useful-insights-on-instant- apps-67cc7d177695 • http://tech.domain.com.au/2017/06/making-the-domain-android-app-instant- ⚡/ • https://tech.buzzfeed.com/from-westinghouse-to-android-instant- apps-60fbfaca4ebe Codelab • codelabs.developers.google.com/codelabs/android-instant-apps
 Cover • https://goo.gl/m4ovQ4