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

Android instant Apps

Android instant Apps

Que es una instant App?, para que sirven? y como hacer la tuya.
Video:
https://www.youtube.com/watch?v=RZypl0oP7fA

Sebastian Cipolat

July 17, 2022
Tweet

Other Decks in Technology

Transcript

  1. • ¿Que es una Instant App? • ¿Como se acceden?

    • Ventajas • Activar Instant Apps • Requerimientos del device • Limitaciones • Aplicaciones como funciones • Construir una instant app • Publicacion • Play Install APi • Google Play Instant • App Ejemplo DeliveryYA Agenda
  2. ¿Que es una instant app? Se trata de una tecnología

    que permite ejecutar aplicaciones nativas Android sin necesidad de instalarlas. Anunciadas en el Google I/O del 2016 https://www.youtube.com/watch?v=iH7dNyJ8pFM En el ultimo I/O Google las empezo a llamar Google Play Instant
  3. Accesible desde una URL En base a los parámetros contenidos

    basará su comportamiento. Desde la ficha de la app en el playstore mediante “TRY NOW” Resultados de búsqueda ¿Como se acceden?
  4. Ventajas • Provee experiencia nativa sin instalar • Aumenta visibilidad

    de la app • Performance • Nuevos casos de usos • Mayor cantidad de instalaciones
  5. Requerimientos del device Version minima Android 6.0 Por defecto viene

    desactivado. A Partir de Android Oreo vienen activadas por default (puede variar segun fabricante). En devices compatibles se instala automáticamente Google Play services for Instant Apps Por lo gral no disponible en Custom Roms.
  6. Limitaciones • Requiere activación del user en algunos casos •

    Background Services. • Push notifications (BETA) • Acceso external storage • Cambiar config ej. wallpaper • Acceso a content providers externos. • Broadcast Receiver limitados • Descubrir app instaladas. • Activity no asociado a layout.
  7. Limitaciones Permisos permitidos: *Utiliza modelo de permisos de Android 6.0

    • BILLING • ACCESS_COARSE_LOCATION • ACCESS_FINE_LOCATION • ACCESS_NETWORK_STATE • CAMERA • INSTANT_APP_FOREGROUND_SERVICE Only in Android 8.0. • INTERNET • READ_PHONE_NUMBERS. Only in Android 8.0 • RECORD_AUDIO • VIBRATE
  8. Aplicaciones como funciones Toda aplicación tiene al menos 1 función

    o tarea. App Mapa • Buscar una ubicación. • Buscar restaurantes cercanos. • Detalles de un lugar específico • Compartir ubicación de un lugar en redes sociales.
  9. Aplicaciones como funciones App Mapa Buscar una ubicación. Buscar restaurantes

    cercanos. Detalles de un lugar específico Compartir ubicación de un lugar en redes sociales. Separar cada funcionalidad en un módulo. Instant App Detalles de un lugar específico http://example.com/place/guerrin
  10. Construir una Instant App Requerimientos: • Android SDK Build-Tools 26.x

    or higher • Android SDK Platform Tools 25.x or higher • Android SDK Tools (latest) • Instant Apps Development SDK (latest) • Support Repository (latest) • All dependencies of Support Repository (latest version for each)
  11. Estructura de proyecto en una instant app Compuesta por diversos

    módulos: App Module: App tradicional incluye a todos los módulos. Instant App Module: Incluye solos los feature modules y el módulo base. Feature Module: Código específico para esa funcionalidad. Base Feature Module: Codigo requerido por todos.
  12. Base Feature Module • Recursos compartidos y archivos de código

    de los que dependen otras funciones. • Parecido a una librería. • Todos los módulos depende de él. Build.gradle apply plugin: 'com.android.feature' android { baseFeature true … } dependencies { …… feature project(':feature1') feature project(':feature2') application project(':app') }
  13. Feature Module build.gradle apply plugin: 'com.android.feature' android { ... }

    dependencies { …… implementation project(':base') …… } Usado por todos los modulos Depende del modulo base.
  14. App Module build.gradle apply plugin: 'com.android.application android { ... }

    dependencies { …… api project(‘:base-module’) implementation project(':feature1) implementation project(':feature2) } • Módulo que representa a toda la app instalable. • Incluye a todos los módulos.
  15. Instant App Module Crear Modulo: File->New->New Module->Instant App build.gradle apply

    plugin: 'com.android.instantapp android { ... } dependencies { …… api project(‘:base-module’) implementation project(':feature1) } • Módulo que representa a la instant app. • Incluye a los features modules
  16. App Links Vincula una URL a un contenido específico dentro

    de la aplicación. Agregar Intent Filter Tools > App Links Assistant. Mapeo de URL
  17. App Links https://www.recipe-app.com/recipe->MainActivity Intent appLinkIntent = getIntent(); String appLinkAction =

    appLinkIntent.getAction(); Uri uri = appLinkIntent.getData(); String id =uri.getQueryParameter(“id”); https://www.recipe-app.com/recipe&id=45454 Acceder a parametros:
  18. App Links Asociar app con sitio web Dominio HTTPS obligatorio

    Utilizar release keystore Subir assetlinks.json al sitio web en esta ubicación: https://<yoursite>/.well-known/assetlinks.json.
  19. Play Install API Android Instant Apps API reference Brinda la

    posibilidad de mostar el dialogo de instalacion del playstore de la app completa. Necesario: implementation 'com.google.android.instantapps:instantapps:1.1.0' Intent postInstall = new Intent(); InstantApps.showInstallPrompt(@NonNull Activity activity, @NonNull Intent postInstallIntent, int requestCode, @Nullable String referrer); Permite detectar si estoy en una instant app o no if (!InstantApps.isInstantApp(this)) { //mostrar install prompt button }
  20. Publicacion Compuesto por APK modulo funcionalidad APK modulo base Paquete

    a subir a playstore No pueden superar los 4MB Firmar cada modulo. App instalable OBLIGATORIA
  21. Extension de Android instant apps para incluir a los juegos.

    Limite de APK 10MB (Beta) Compatibilidad: Unity , Cocos Video Lanzamiento: https://www.youtube.com/watch?time_continue=1759&v=5wtlj_q3DjE BETA
  22. Recursos Building an Android Instant App (Google I/O '17) https://www.youtube.com/watch?v=9Jg1D07NgeI

    Introduction to Android Instant Apps (Google I/O '17) https://www.youtube.com/watch?v=oispNrpGnIY&t=157s Google Play Instant: how app developers are finding success (Google I/O '18) https://www.youtube.com/watch?v=tXqat1JOmS8 UX best practices https://developer.android.com/topic/google-play-instant/best-practices/apps Refactoring an existing Android app to support Instant App. https://blog.mindorks.com/refactoring-an-existing-android-app-to-support-instant-app-aa11fe54fd73 Some useful insights on Instant apps https://medium.com/nos-digital/some-useful-insights-on-instant-apps-67cc7d177695 Android Instant Apps,All you need to know about.. https://hackernoon.com/android-instant-apps-all-you-need-to-know-about-d392a6e10584
  23. Recursos How to Create Instant app from Existing App http://androidkt.com/instant-app/

    Android Instant Apps, step-by-step: how Vimeo went about it https://medium.com/vimeo-engineering-blog/vimeo-android-instant-apps-2f8b1e94760c CodeLabs: Build your First Android Instant App https://codelabs.developers.google.com/codelabs/android-instant-apps/#0 Build a Multi-Feature Instant App https://codelabs.developers.google.com/codelabs/android-multi-feature-instant-app/#0 FAQ https://developer.android.com/topic/google-play-instant/faqs
  24. Instant app ejemplos DeliveryYa https://github.com/sebacipolat/DeliveryYa InstantAppStarter https://github.com/iamBedant/InstantAppStarter Instant-app-demo Kotlin https://github.com/fredericcollinss/instant-app-demo-kotlin

    Java https://github.com/fredericcollinss/android-instant-app-demo Android-instant-apps-demo https://github.com/willowtreeapps/android-instant-apps-demo