Checklist para migrar una app de GMS a HMS
Published: 2021-04-22 01:50:37

¡Por fin! Tomó mucho tiempo, horas sin dormir, muchas tazas de café y más tiempo de depuración del que quieres admitir pero finalmente, tu app ya es completamente funcional. De pronto, de la nada aparece una nueva tienda de aplicaciones, conserva la calma, adaptar una app para AppGallery es más fácil de lo que crees. A continuación te cuento qué es lo que debes hacer y tener en cuenta para migrar y publicar tu aplicación.

_Nota: Este artículo es una traducción del artículo **[Checklist to migrate your app from GMS to HMS](https://forums.developer.huawei.com/forumPortal/en/topic/0204478710589600002)** publicado originalmente en el Huawei Developer Forum por el usuario k4t****@***il.com_

#Objetivo
En este artículo conocerás la lista de verificación y algunos trucos útiles para usar en el momento en que desees publicar tu aplicación en la Huawei AppGallery.

#Revisión de dependencias de Google
A no ser que vivas bajo una roca, seguramente sabes que los servicios móviles de Google y los servicios de Google Play ya no están disponibles en los nuevos dispositivos Huawei, por lo que si tu aplicación usa alguno de estos, debes encargarte de eso.

La cuestión es ¿no puedo usar ningún servicio de Google? y esa es una pregunta válida, la respuesta rápida es: Sí, aún puedes usar algunos de los servicios de Google en tu aplicación. Como la mayoría de los servicios de Google están relacionados con Firebase, al menos aquellos con los que nosotros como desarrolladores estamos más familiarizados, puedes verificar rápidamente en la lista de dependencias de Firebase si el servicio que estás utilizando requiere Google Play Services para seguir funcionando. Si no es así, ¡enhorabuena! No hay nada más que hacer para que funcione en dispositivos Huawei, sólo asegurarse de usar la última versión del servicio. Si es así, sigamos adelante.

Hay una alerta molesta que aparece cada vez que se ejecuta una aplicación con Google Play Services, en un dispositivo Huawei sin Google Play Services. Se parece a esto:

![](https://miro.medium.com/max/910/0*VjC_D143UGgnAKum.jpg)

Si en algún momento tu aplicación está llamando a uno de estos métodos isGooglePlayServicesAvailable () o showErrorDialogFragment () de la clase GoogleApiAvailability, desde aquí puedes optar por eliminarlos o filtrarlos para que no se muestren en dispositivos Huawei, pero hay una forma inteligente de hacerlo y es usando flavors.

#Creando un Flavor para tu app
Una poderosa característica en Android Studio son los flavors (sabores), en caso de que no los estuvieras usando, estoy a punto de sorprenderte con esta nueva información.

En pocas palabras, los flavors permiten crear diferentes versiones de tu aplicación utilizando la misma base de código, pero al cambiar algunos archivos puedes crear diferentes compilaciones (apks) de tu aplicación, el ejemplo común es tener una versión gratuita y otra de pago. En este caso, crearás una versión HMS (Huawei Mobile Services) de tu aplicación y una versión GMS(Google Mobile Services), por lo que puede cambiar las partes donde se invocan los servicios de Google.

Puedes averiguar cómo hacerlo en la guía de Android para [configurar variantes de compilación](https://developer.android.com/studio/build/build-variants), pero un pequeño aviso, deberás modularizar totalmente tu código para esto, en caso de que aún no lo estuviera.

Entonces, ya estás a medio camino, el siguiente paso es hacer gala de tus habilidades de programación.

#Determinando el equivalente de HMS
En este punto, te has dado cuenta de que hay algunos servicios que debes reemplazar por sus contrapartes de Huawei, afortunadamente, hay mucha información que puedes usar en el sitio de [Huawei Developers](https://developer.huawei.com/consumer/en/), aquí puedes elegir el kit adecuado para reemplazar tu servicio de Google.

La mayoría de los nombres de los kits se explican por sí mismos, pero puedes utilizar el [Huawei Developer Forum](https://forums.developer.huawei.com/forumPortal/en/) para pedir ayuda en caso de que no puedas encontrar el kit adecuado. No te preocupes, porque cada kit tiene una guía precisa sobre cómo implementarlo, codelabs y códigos de ejemplo para poner tu aplicación en funcionamiento lo antes posible.

Ahora, tienes una versión de tu aplicación para Google Play, con Google Play Services, y otra versión para AppGallery, con Huawei Mobile Services, es hora de probarla.

#Probando tu app
hay tres maneras de hacer esto. A continuación te las describo:

##Dispositivo Huawei real
Esta primera forma requiere un dispositivo móvil real para probar tu aplicación, puedes ejecutar y depurar tu aplicación en tu dispositivo Huawei. Puedes verificar el logcat, usar el depurador y aprovechar cualquier otra característica que ya conozcas como desarrollador de aplicaciones móviles.
Fácil, ¿verdad?, pero ¿Y si no tienes un dispositivo Huawei?

##Cualquier dispositivo Android con HMS
Los servicios móviles de Huawei se pueden instalar en cualquier dispositivo Android, puedes [instalar HMS Core desde AppGallery](https://appgallery.huawei.com/#/app/C10132067) (el sitio web te indicará que primero instales AppGallery) y luego probar tu aplicación llamando a las clases y métodos de los paquetes de Huawei. Es así de fácil y funciona en la mayoría de los escenarios (Aunque este método es muy confiable, ha mostrado algunos problemas en ciertos dispositivos).
¿Eso significa que no puedes probar tu aplicación completamente sin un dispositivo Huawei?, respuesta rápida, sí, hay una manera tan confiable como tener un dispositivo real.

##Cloud Debugging
Huawei tiene un servicio gratuito que puedes usar con solo iniciar sesión en AppGallery Connect, debes crear una cuenta de desarrollador para esto. Con [Cloud Debugging](https://developer.huawei.com/consumer/en/agconnect/cloud-adjust/) puedes usar un dispositivo Huawei remoto, cargar tu apk, verificar el logcat y depurar tu aplicación como si lo estuvieras haciendo bien en tu dispositivo.

Consejo rápido, puedes hacerlo desde Android Studio si instalas el plugin [HMS Toolkit](https://developer.huawei.com/consumer/en/huawei-toolkit/). Vale la pena intentarlo.

#Conclusión
Esta guía se elaboró ​​para ayudarte a crear una versión HMS de tu aplicación, a partir de esta pequeña guía puedes ver que aún puedes usar muchos servicios de Google en tu aplicación y usar el mismo apk, que creaste para Google Play, en AppGallery, en ciertos casos ‘Sólo tendremos que reemplazar los servicios que requieran los Servicios de Google Play. Espero que te sea útil.
¡Happy Codding!.