Cuando crees apps para Wear OS para China, deberás tener en cuenta los teléfonos celulares que no incluyen los Servicios de Google Play preinstalados. En esta página, se explican los cambios comunes que posiblemente los desarrolladores deban adoptar para el mercado chino.
Usa la versión correcta de los Servicios de Google Play
La versión 10.2.0 de los Servicios de Google Play proporciona compatibilidad a nivel mundial con la API de Fused Location Provider y la API de Data Layer. Debes usar esta versión de los Servicios de Google Play si usas estas APIs para garantizar la compatibilidad con una gama más amplia de dispositivos Wear OS en China. En otros casos, esta dependencia es opcional.
Nota: Si bien los Servicios de Google Play contienen APIs para las apps de Wear OS, las apps de Wear OS para China deben seguir usando las APIs relacionadas con GoogleApiClient
. Consulta Cómo acceder a la API de wearables.
API de Fused Location Provider
Si usas la API de Fused Location Provider, incluye la siguiente dependencia en el archivo build.gradle
de tu módulo de Wear OS:
Groovy
dependencies { ... implementation 'com.google.android.gms:play-services-location:10.2.0' }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-location:10.2.0") }
API de Data Layer
Si tu app usa la API de Data Layer, debes agregar la siguiente línea al archivo build.gradle
de tu módulo de Wear OS. Esta línea requiere que se use la versión 10.2.0 de la biblioteca cliente:
Groovy
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' ... }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") ... }
Agrega la siguiente línea al archivo build.gradle
de tu módulo para dispositivos móviles. Reemplaza la dependencia de los Servicios de Google Play por una referencia a la versión 10.2.0.
Groovy
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' }
Kotlin
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") }
Autenticación
Antes de implementar la autenticación, revisa los casos prácticos para ver si es realmente necesaria. Por ejemplo, en el caso de una app que brinda el pronóstico del clima, es probable que no se necesite acceder y, por consiguiente, no se requiere autenticación.
Si necesitas autenticación, te recomendamos que uses la biblioteca de OAuth de AndroidX. Esto requiere el uso del flujo de Otorgamiento de código de autorización con PKCE. También puedes usar uno de los otros métodos descritos en Autenticación en Wear. No se recomienda el uso de la Biblioteca de compatibilidad para wearables.
Para obtener más información, consulta el ejemplo de Wear Oauth en GitHub.
Notificaciones conectadas
Las notificaciones conectadas no se admiten en China. Las notificaciones del teléfono se conectan con Wear OS únicamente si el dispositivo Wear OS está conectado al teléfono mediante Bluetooth.
Compatibilidad con la ubicación y la asignación de coordenadas
Usa el FusedLocationProvider
(FLP) para detectar la ubicación del usuario en China, como lo harías para el resto del mundo. De esta manera, se garantiza que tu app tenga en cuenta la información más precisa independientemente del hardware de reloj y de la plataforma de teléfono con la que esté vinculado el reloj.
El uso del FLP también agrega la optimización de la batería integrada en la plataforma Wear OS.
Cuando integres FusedLocationProvider
con los SDK de mapa de terceros, ten en cuenta la compatibilidad de coordenadas entre los proveedores.
FusedLocationProvider
informa la ubicación de acuerdo con el estándar WGS84.
Asegúrate de convertir los sistemas de coordenadas, según corresponda.
Compatibilidad con Google Fit
En China se admiten el contador de pasos acumulados, los Minutos de actividad y los Puntos cardio de Google Fit, con un historial de hasta siete días. Es posible acceder sin proporcionar credenciales de usuario.
Compatibilidad con acciones de voz
La plataforma de Wear OS proporciona varios intents de voz que se basan en acciones del usuario, como _"Mostrar frecuencia cardíaca"_ o _"Establecer una alarma"_. De esta manera, los usuarios pueden decir lo que quieren hacer y dejar que el sistema decida qué actividad iniciar.
Cuando los usuarios solicitan las acciones, tu app puede filtrar por el intent que se activa al iniciar una actividad. Para iniciar un servicio en segundo plano, muestra una actividad como una indicación visual e inicia el servicio en la actividad. Asegúrate de llamar a
finish()
para deshacerte de la señal visual.
A continuación, se muestra una lista de intents de voz que admite la plataforma Wear OS:
Categoría | Ejemplo | Especificación de intent |
Parada de autos | 打车去三里屯 | Acción
Adicional
El adicional es opcional. |
Fijar alarma | 设置一个明早七点的闹钟 | Acción
Elementos adicionales
Estos elementos adicionales son opcionales. Proporciona uno de ellos, ambos o ninguno. |
Establecer temporizador | 设置一个三分钟的倒计时 | Acción
Elementos adicionales
|
Iniciar cronómetro | 开始计时 | Acción
|
Iniciar o detener un recorrido en bicicleta | 开始骑车 | Acción
Tipo de MIME
Elementos adicionales
|
Iniciar o detener una carrera | 开始跑步 | Acción
Tipo de MIME
Elementos adicionales
|
Iniciar o detener un entrenamiento | 开始锻炼 | Acción
Tipo de MIME
Elementos adicionales
|
Mostrar ritmo cardíaco | 查看心率 | Acción
Tipo de MIME
|
Mostrar recuento de pasos | 查看步数 | Acción
Tipo de MIME
|
Navigation | 导航去三里屯 | Acción
Datos geo:latitude,longitude?q=融科资讯中心 |
El Asistente de voz también puede usar intents comunes de Android para activar ciertos comportamientos cuando corresponda.
Compatibilidad con el emulador
Puedes usar la versión china de la imagen del emulador de Wear OS para probar tu app, ya que es compatible con Android Studio 3.0 y versiones posteriores.
Para probar tus apps en la versión china del emulador, sigue estos pasos:
- Instala Android Emulator.
- Descarga Wear OS para imágenes de China desde SDK Manager. Usa la versión para Wear OS 3.5 (nivel de API 30).
- Elige la imagen de Wear OS para China cuando crees un perfil de AVD.
- Ejecuta Wear OS para el emulador de China para comenzar con el desarrollo.
Figura 1: Ejemplos de la versión para China del emulador de Wear OS.
Esta versión del emulador de Wear OS incluye varias apps preinstaladas:
- Modo ambiente
- Contactos
- Escritura a mano de Google
- Servicios de Google Play
- Servicios de salud para Wear OS
- Reconocimiento de palabras clave para dispositivos LE
- Pinyin
- Play Store (adaptada para dispositivos en China)
- Pocketwatch
- TalkBack
- Caras de reloj (versiones analógicas y digitales)
- Servicios principales de Wear
Inicia un canal de Bluetooth y Wi-Fi específico de la app
Wear OS enruta las solicitudes de red automáticamente. En la mayoría de los casos, no hay ningún requisito para que la app abra un canal de Bluetooth y Wi-Fi específico de la app.
Si una app solicita un canal de Bluetooth y Wi-Fi específico de la app en China, la solicitud fallará silenciosamente. En su lugar, se muestra un diálogo en el que se solicita la confirmación del usuario. Al confirmar, se abrirá el canal. Esto sucede cada vez, no solo en el primer uso. Se llama a BluetoothAdapter.enable()
o a WifiManager.setEnabled(true)
.
Nota: Para que una app orientada a Android 10 (nivel de API 29) llame a WifiManager.setEnabled()
, debe ser una app del sistema o un controlador de política de dispositivo (DPC).
Modo de revisión de permisos
En China, los dispositivos con Wear OS para este país se ejecutan en el modo de revisión de permisos, lo que impone algunos límites sobre el uso de apps con un targetApiLevel
inferior a 23: Revisa los siguientes límites:
- Si bien los permisos se otorgan durante la instalación, cuando se inicia por primera vez una app con un
targetApiLevel
inferior a 23, aparece un diálogo en el que se le solicita al usuario que confirme los permisos para esta app. - Los componentes de la app, como los receptores de emisión, los servicios y las actividades, no responden a los eventos correspondientes antes de que esta se use por primera vez.
Como resultado, te recomendamos que uses un targetApiLevel
23 o una versión posterior y adoptes las prácticas recomendadas sobre permisos de las apps.
Usa otras APIs de los Servicios de Google Play
Si tu app usa las APIs de los Servicios de Google Play en lugar de la API de Wearable, entonces debe verificar si estas APIs están disponibles para usar durante el tiempo de ejecución y responder según corresponda. Existen dos formas de verificar la disponibilidad de las APIs de los Servicios de Google Play:
- Usa una instancia independiente de
GoogleApiClient
para conectarte a otras APIs. Esta interfaz contiene devoluciones de llamada que se usan para alertar a tu app sobre el éxito o la falla de la conexión. En caso de que la conexión falle, elConnectionResult
muestraAPI_UNAVAILABLE
. Para aprender a controlar las fallas de conexión, consulta Acceso a las APIs de Google. - Usa el método
addApiIfAvailable()
deGoogleApiClient.Builder
para la conexión con las APIs requeridas. Una vez activada la devolución de llamadaonConnected()
, usa el métodohasConnectedApi()
para asegurarte de que cada una de las APIs solicitadas esté conectada correctamente.
Cómo distribuir apps en China
Para llegar de manera eficiente a los usuarios de Wear OS para China, puedes distribuir tu app en tiendas de apps de Wear OS de terceros, como las siguientes:
- Galaxy Store para dispositivos Samsung
- Xiaomi Store para dispositivos Xiaomi
- Mobvoi para los demás dispositivos