Lo que debes tener en cuenta a la hora de optimizar tus apps para el Samsung Galaxy Fold

El Samsung Galaxy Fold ha sido diseñado para inspirar a través de nuevas experiencias móviles. Y es que este dispositivo ha llegado para ofrecer nuevas experiencias y modos de uso a los usuarios de dispositivos móviles … el futuro es plegable. Su software es una combinación de un UI intuitivo (que enfatiza la continuidad de apps, que implica que las apps se ejecuten sin interrupciones al momento de plegar y desplegar el móvil) y un ecosistema de apps en continuo crecimiento que aprovecha la doble pantalla para ofrecer una experiencia diferente a todo lo vivido.

El equipo de Samsung ha trabajado mano a mano con partners como Google para enriquecer la experiencia de uso del Samsung Galaxy Fold con algunas de las apps más populares en el mercado. Así, se han optimizado muchas de las más usadas, como YouTube, Google Maps, Facebook o Microsoft Office, para que aprovechen al máximo las capacidades de este dispositivo, tanto la continuidad de aplicaciones entre pantallas como sus funcionalidades multi-window y multi-resume, que te explicaremos más adelante.




Imagen extraída de: me.me

Y es que, si quieres que tus apps funcionen en el Samsung Galaxy Fold, deben pasar por un proceso de adaptación que les permita pasar de forma fluida de la pantalla de portada a la pantalla principal cuando el usuario abre el dispositivo. En este punto el reto estará en que más allá de ser dos pantallas, sus medidas y ratios son completamente diferentes, por eso se deben optimizar las apps para que se amolden sin tener que parar su ejecución o resetearla. Pero no te preocupes, que te vamos a contar todo lo que necesitas saber y verás que no hay nada de que alarmarse.

Los primeros desarrolladores que intentaron optimizar sus apps lo hicieron en los laboratorios que se crearon en Corea, China y Estados Unidos con el objetivo de que los desarrolladores de Android pudieran familiarizarse con el dispositivo plegable. El siguiente paso fue ofrecer a todos los desarrolladores la documentación y recursos necesarios para adaptar sus apps al modelo plegable, incluido el Remote Test Lab, a través del cual se pueden hacer pruebas en el dispositivo real, pero de forma virtual con un emulador. Si quieres testar tus apps en el emulador para dispositivos plegables, puedes hacerlo aquí.

Pero antes de enseñarte como testar, te vamos a contar todo lo que debes tener en cuenta para adaptarlas.

1.     Continuidad de apps
 
Las apps optimizadas para dispositivos plegables deben poder pasar de una pantalla a otra siendo transparente para el usuario, y esto se debe realizar tomando en cuenta atributos como la densidad o la resolución. Las apps deben poder ejecutarse en la pantalla de cubierta, “cover” y en la principal de forma fluida y sin interrupción, continuando con la actividad que se está realizando.
 

El usuario tiene la opción de pasar de la pantalla pequeña a la pantalla principal para adentrarse totalmente en la experiencia que está viviendo, y las apps del dispositivo plegable deben responder a esta demanda.

Al cerrar y abrir el móvil se activa un cambio de configuración entre smallestScreenSize, screenSize y screenLayout. Este cambio de configuración es similar con las apps que están configuradas para el modo “multi-window”, pero incluso las apps que no permiten “multi-window” pueden adaptarse para cuando el dispositivo se abre o se cierra. En caso contrario, lo que pasaría por defecto es que toda la actividad que se está ejecutando se destruiría y se reestablecería de nuevo, por eso es importante optimizar las apps para que esto no suceda.
 
Y, ¿cómo se hace esto?
 
En este caso la app deberá poder recuperar el estado previo cuando la actividad se reinicia. Para ello, se puede utilizar el método onSaveInstanceState() y el objeto ViewModel . Si prefieres manejar el cambio de configuración sin reiniciar, deberás añadir el atributo android:configChanges con los valores que te especificamos abajo.

Después de hacer este cambio en el código, será necesario que actualicesla vista de diseño y reestablezcas los recursos en onConfigurationChaged(), como te enseñamos aquí.

También, se puede guardar el estado en onSaveInstancesState() antes de que la actividad se destruya y luego recuperarla en onCreate() o onRestoreInstanceState().
 
No acabes el proceso o incluyas finish() en el onDestroy() de la actividad. Esto causará que la app se cierre cuando el dispositivo se abre o cierra. Si quieres más información sobre cómo manejar los cambios en la configuración, puedes ver la guía de desarrollo de Android aquí.

 

2.     Multi-window y multi-resume

 
Gracias a la característica de doble pantalla y al mayor tamaño de su pantalla principal, el Samsung Galaxy Fold permite una experiencia de multitarea como si fuese una Tablet o incluso un ordenador, y desde Android 7.0, esto se hace realidad pues permite ver y ejecutar más de una app a la vez.
 
En el Samsung Galaxy Fold, esta experiencia se lleva al siguiente nivel, pudiendo interactuar con una app a cada lado de la pantalla principal, en el modo llamado “Split-screen”.
 

En los dispositivos Galaxy existen 2 tipos de multi-window. La “split view” y la “freeform window”.  En los dispositivos no-plegables, la “split view” permite hasta 2 apps a la vez, y ahora, el Fold permite 3 “Split view” o vistas separadas para manipular hasta 3 apps a la vez en una pantalla más grande. Además, esta pantalla mejora la usabilidad de “freeform window”.

Cuando se emplea este modo, las apps que se ejecutan en multi window multiventana pero que no estén activas, es decir, que están fuera de foco, entran en estado de pausa. La nueva versión Android P (Pie) integra una funcionalidad de multi-resume para todas las actividades visibles, si la app y el fabricante OEM (Original Equipment Manufacturer) lo habilita. De este modo, se prevé que la función multi-resume sea obligatoria en el comportamiento de Android Q.



Para hacer que tu app se ejecute en multi-resume, es decir, que esté siempre activa o en estado “resumed” aunque no se esté ejecutando en el momento, se debe incluir el código que se indica a continuación.

Otras cosas a tener en cuenta:
 
-        La pantalla “cover”, o de cubierta, tiene una relación de aspecto larga (21:9), así que las aplicaciones tienen que manejar una relación de aspecto máxima para aprovechar todo lo posible la pantalla. Aquí puedes conseguir más información sobre cómo declarar una relación de aspecto máxima.
 
-        Se debe optimizar el diseño de la app tanto para la pantalla de cubierta como para la principal, ya que las aplicaciones se ejecutarán en ambas pantallas con diferentes tamaños. Por eso, la recomendación es implementar el diseño pensando en la flexibilidad para que la app admita diferentes tamaños de pantalla. Será necesario usar dimensiones de vista que permitan cambiar el tamaño del diseño, crear diseños UI alternativos en función de la configuración de la pantalla y proporcionar mapas de bits que puedan estirar las vistas.
 

Para que te sea más fácil, te dejamos la configuración de referencia que deberás utilizar para cada pantalla:

Algo más sobre este nuevo dispositivo que abre un nuevo mundo de posibilidades…
 
Samsung Galaxy Fold tiene una pantalla flexible de 7.3”, también llamada folding infinity flex display, que se pliega dando un paso más allá en la experiencia móvil a la que estamos ahora acostumbrados. Por ejemplo, el teclado permite a los usuarios escribir más cómodamente cuando están usando el dispositivo con las dos manos. También, el botón de la cámara cambia de posición cuando el teléfono pasa de estar en vertical a estar en horizontal. Y de la misma forma, el botón de “inicio” puede alinearse a cualquier lado de la pantalla, para que el usuario no deba reposicionar su mano para alcanzarlo.
 
En definitiva, el Samsung Galaxy Fold incluye grandes innovaciones a nivel de software como la continuidad de apps o la posibilidad de tener varias ventanas abiertas con apps ejecutándose de forma simultánea, lo que facilita la versatilidad. Ahora es posible utilizar hasta 3 apps a la vez impulsando el multitasking, entretenimiento y consumo de contenido a otro nivel.
 
Samsung Dev Spain es la comunidad oficial de Samsung para desarrolladores españoles. Si te das de alta, puedes conseguir entrar en nuestro programa de préstamos -y conseguir dispositivos para desarrollar apps para nuestro ecosistema-, acceder a material gratuito como la primera guía académica de VR, participar en promociones como dispositivos por apps o acudir gratis a eventos formativos como Samsung Dev Day. Si aún no lo has hecho, puedes darte de alta en este formulario de registro.