Desafortunadamente uno de los mayores desafíos que nos encontramos los desarrolladores de apps para Android es la cantidad de versiones disponibles del sistema operativo. Esta terrible fragmentación hace que cuando algunos nos estábamos ya acostumbrando a trabajar con Oreo(Android 8.0 y 8.1) ya existen algunos fabricantes que están desplegando una nueva versión para nuestro sistema móvil preferido, Android 9.0 Pie. Todo esto, combinado con la velocidad con la que avanza la tecnología y el abandono en actualizaciones que sufren dispositivos que tengan cierto tiempo, hacen que crear una app medianamente compleja que funcione perfectamente en todos los dispositivos sea una tarea titánica.
Desde octubre de 2018 ya comenzamos a ver cambios en las Políticas de Desarrolladores para proteger al usuario final e invitaban a los desarrolladores a la actualización de aquellas apps que realizaban llamadas o enviaban sms de manera automatizada porque incumplirían las políticas de Google Play; a partir de entonces habría que requerirle al usuario los permisos explícitamente en tiempo de ejecución para realizar dichas tareas.
Esto, que a priori, beneficia la seguridad y el control de lo que hacen las aplicaciones descargadas del mercado de Google, ha supuesto un nuevo cambio en la generación de los APKs que realiza MIT App Inventor. Ya en enero de 2019 algunos veíamos con preocupación que teníamos problemas para subir aplicaciones al market oficial de Google porque el componente LlamadaDeTeléfono o EnviarTexto no cumplía con las "bendiciones" de las nuevas políticas de desarrolladores.
Pero una vez más y en tiempo récord, el equipo de desarrollo de MIT App Inventor ha solventado el problema actualizando los componentes anteriormente mencionados: LlamadaDeTeléfono(PhoneCall) y EnviarTexto(Texting).
¿Qué hay de nuevo?
Ahora cuando usemos los componentes de LlamadaDeTeléfono o EnviarTexto nos encontraremos con los métodos "antiguos" para realizar la llamada o enviar el mensaje pero le solicitarán al usuario confirmación en la aplicación haciendo que su intervención sea necesaria y por tanto nuestra app cumplirá con las Políticas de Desarrolladores de Google.
...y si queremos enviar sms de manera automática con App Inventor? ¿o realizar una llamada?
Entonces necesitaremos utilizar los nuevos métodos incorporados en la nueva release: MakePhoneCallDirect y SendMessageDirect; pero en tal caso nuestra app no cumplirá con las políticas y por tanto no podremos distribuirlas en Google Play. En este caso recordad que es posible distribuir el APK directamente a nuestros usuarios por diferentes métodos o mercados alternativos como pueda ser: Aptoide, APKMirror, Amazon Underground, F-Droid, ...etc.
¿Qué ocurre con MIT AI2 Companion?
Dispondremos de dos versiones dependiendo si queremos o no las funcionalidades anteriores:
- Distribuida en Google Play y NO COMPATIBLE con llamadas o envíos automatizados.
- Distribuida directamente por el MIT sin limitaciones
...adios a las Fusion Tables
Otra cosa a tener en cuenta a partir de esta nueva versión es el paso del componente Fusion Table al estado "deprecated"; esto es un paso lógico tras haber Google anunciado su cierre programado para diciembre de este mismo año.
Algunas correcciones
Por último destacar de esta nueva versión correcciones de errores:
- Conectividad con Safari
- Actualización del componente Marker cuando cambiábamos su visibilidad en un mapa
- Compatibilidad de MIT AI2 Companion con dispositivos antiguos
- Uso de poligonos a través de la carga de un fichero GeoJSON
- Manejo de listas con valores numéricos grandes
Saludos y happy inventing!!!