Administrador de ventanas de Jetpack para Unity
El Administrador de ventanas de Jetpack está disponible como un paquete que se puede incluir en el proyecto de Unity. Personalice el sistema de compilación de Gradle e implemente una clase de actividad base personalizada y agregue una clase auxiliar de C# que llame a la API nativa de Java.
API plegable y de doble pantalla
El código WindowManagerHelper.cs proporciona estos métodos que exponen información proporcionada por el Administrador de ventanas de Jetpack:
WindowManagerHelper.GetCurrentWindowMetricsBounds
. Los límites (izquierdo, superior, ancho, alto) de todo el área que ocupa la aplicación.WindowManagerHelper.IsSeparating
. Si la característica de plegado separa las áreas de pantalla. Esto siempreTRUE
está en Surface Duo. EstáTRUE
en otros dispositivos plegables solo cuando se doblan, peroFALSE
cuando están planos.WindowManagerHelper.Orientation
. Orientación de la característica de plegado, si hay una.HORIZONTAL
oVERTICAL
.WindowManagerHelper.OcclusionType
. Si la característica de plegado oculta el contenido.FULL
oNONE
.WindowManagerHelper.State
. Estado del plegado.FLAT
oHALF_OPEN
.WindowManagerHelper.Bounds
. Los límites (izquierda, superior, ancho, alto) de la característica de plegado, si hay alguno.
Esta es una captura de pantalla del ejemplo de demostración de API que muestra la información del dispositivo del paquete De Windows Manager de Jetpack:
Implementación del Administrador de ventanas de Jetpack en Unity
Siga estos pasos para personalizar la configuración de compilación de aplicaciones de Android e implementar El Administrador de ventanas de Jetpack. También puede revisar el código de este ejemplo.
En Unity, vaya a Editar>Project Configuración...>Jugador>(Android)>Publicar Configuración y seleccionar estas opciones de compilación:
En este paso se colocan nuevos elementos en los activos, complementos o Android del proyecto, que se personalizan para admitir el paquete del Administrador de ventanas.
Actualice mainTemplate.gradle para incluir El Administrador de ventanas de Jetpack en el proyecto agregando las siguientes dependencias:
dependencies { implementation "androidx.window:window:1.0.0" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61" implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.core:core-ktx:1.3.2' }
Actualice el archivo gradleTemplate.properties agregando la siguiente línea:
android.useAndroidX = true
La aplicación necesita una actividad personalizada para implementar la funcionalidad del administrador de ventanas y exponer información a C#. Cree un archivo FoldablePlayerActivity.java en la misma carpeta Assets/Plugins/Android y actualice AndroidManifest.xml para hacer referencia a la nueva clase:
<activity android:name="com.microsoft.device.dualscreen.unity.FoldablePlayerActivity"
Agregue la clase completa de FoldablePlayerActivity.java en GitHub.
Copie la clase auxiliar WindowManagerHelper.cs de GitHub en el proyecto. La carpeta es Assets/SurfaceDuo/Plugins en el ejemplo.
Los activos/complementos/Android ahora contienen estos elementos, personalizados en los pasos anteriores:
El archivo WindowManagerHelper.cs se encuentra en la carpeta Assets/SurfaceDuo/Plugins del ejemplo, pero esta clase auxiliar se puede ubicar en cualquier parte del código del juego.
Una vez implementados los cambios de diseño en función de la presencia de una característica de plegado, puedes probar tu juego en Surface Duo y otros dispositivos plegables que admitan el Administrador de ventanas jetpack.
Pasos siguientes
Revise estos ejemplos.