Publicado por Anton Hansson, ingeniero de softwareAndroid 10 y soporte superior Componentes del sistema modular que nos permiten acelerar las actualizaciones funcionales y de seguridad del ecosistema de Android fuera de los principales lanzamientos de nivel de API y hacer que la nueva funcionalidad sea compatible con versiones anteriores de Android ya lanzadas. Estas mejoras ayudan a que el desarrollo sea más flexible y amplían el alcance de los desarrolladores de aplicaciones. Hemos creado un nuevo marco SDK de extensión para que lo integre con estas API y hoy lanzamos la primera versión pública del SDK de extensión (nivel de extensión 4).
API más rápidas e introducciones de funciones
Tener la capacidad de introducir nuevas funciones fuera de los principales lanzamientos de nivel de API permite innovaciones más rápidas. Como se compartió en una publicación anterior, a partir de este año planeamos implementar la versión inicial Sandbox de privacidad en la versión beta de Android a dispositivos Android 13. Puede comenzar a usar el SDK de extensión para integrar sus soluciones con las API de AdServices para prepararse para pruebas de producción limitadas. Aprende más sobre cómo participar en la versión beta de Privacy Sandbox y configurar su entorno de desarrollo con un dispositivo de prueba o emulador.
Compatibilidad con versiones anteriores
Los SDK de extensión también nos permiten extender el soporte de ciertas funciones de la plataforma a las versiones de Android existentes, lo que aumenta el alcance de los usuarios. por ejemplo, el API de PhotoPicker anteriormente disponible solo en el nivel de API 33 (Android T) y superior ahora también está disponible hasta el nivel de API 30 (Android R) a través del SDK de extensión en dispositivos con una versión de extensión R de al menos 2.
Comprobar la disponibilidad de la API
Para ayudarlo a identificar la disponibilidad de la API de extensión, agregamos información adicional a la referencia de la API que indica para qué niveles de API y las versiones mínimas de extensión está disponible la API. Por ejemplo, la referencia API para ACTION_PICK_IMÁGENES indica su disponibilidad en «Android R Extensions versión 2» y superior.
Puede consultar la versión de la extensión en tiempo de ejecución de una manera similar a cómo Compilación.VERSIÓN.SDK_INT se usa comúnmente para verificar la versión de Android. Por ejemplo, si necesita verificar la disponibilidad del Selector de fotos API, use la nueva API SdkExtensions.getExtensionVersion. Para las extensiones de R se utiliza el código de versión (30) que corresponde a R:
fun isPhotoPickerAvailable(): Boolean { |
El cheque alternativo, a través de Compilación.VERSIÓN.SDK_INTse vería así:
fun isPhotoPickerAvailable(): Boolean { |
Esta verificación aún es segura y correcta, pero esta función devolvería falso en algunos dispositivos donde la API ahora está disponible. Como resultado, el SDK_INT check no es óptimo, y la verificación de la versión de la extensión es una mejor manera de verificar la disponibilidad de la API. Todos los dispositivos con SDK_INT >= 33 además tener una versión de extensión R de
>= 2pero hay dispositivos con SDK_INT < 33 con versiones de extensión R >= 2.
Del mismo modo, el Servicios publicitarios La referencia de la API puede indicar que se «agregó en Ad Services Extensions 4». La extensión Ad Services utiliza el SdkExtensions.AD_SERVICES constante. La verificación de disponibilidad se ve así:
fun isAdServicesAvailable(): Boolean { |
Para comodidad de los desarrolladores, estamos ampliando Jetpack para que sea más fácil trabajar con versiones de extensión. Por ejemplo, puede utilizar un Función de biblioteca Jetpack para verificar la disponibilidad de PhotoPicker, que abstrae las comprobaciones de versión condicional. Esperamos lanzar más bibliotecas de Jetpack (como las API de preservación de la privacidad en la zona de pruebas de privacidad) para ayudar al uso correcto de las API lanzadas a través de los SDK de extensión.
Soporte de herramientas
Para ayudar a garantizar la calidad de la aplicación, agregamos soporte de herramientas de versiones de extensión a la verificación NewApi de Android Lint. Desde Android Studio Flamingo, puede generar automáticamente las comprobaciones de versión correctas para las API que se han lanzado a través de extensiones SDK. El uso de estas nuevas verificaciones de versión es completamente opcional, pero adoptarlas podría ayudar a generar un uso más generalizado de nuevas API cuando existan.
Familiarícese con las extensiones SDK
Apenas estamos comenzando el viaje del desarrollador de SDK Extension y planeamos tener más funciones disponibles en el futuro. Puede obtener la última extensión SDK 4 disponible en SDK Manager hoy. Aprenda más sobre el Extensiones SDK y nuestra documentación sobre el Privacidad Sandbox Beta y el selector de fotos.