Google Messages tiene una API RCS oculta para aplicaciones de terceros

Actualización 2 (09/07/2021 a las 4:49 p.m. ET): Hemos aprendido que esta API RCS actualmente no está diseñada para ser utilizada por aplicaciones de terceros. Haga clic aquí para más información.

Actualizaciones anteriores

Actualización 1 (09/07/2021 2:53 PM ET): Actualizamos el artículo con información que dice que la API solo se puede encontrar en la versión exclusiva de Samsung de la aplicación Google Messages. Haga clic aquí para más información.

RCS, que significa Rich Communication Services, es ampliamente considerado como el sucesor de SMS. Admite funciones como el manejo de chats grupales, archivos compartidos de mayor calidad, recibos de lectura, indicadores de escritura y encriptación de un extremo a otro. Para utilizar el protocolo RCS para chats, debe ser compatible con la red, el sistema operativo del teléfono y la aplicación de mensajería telefónica a través de API. Los operadores estadounidenses se han demorado demasiado para adoptar RCS. Por lo tanto, Google los pasó por alto por completo y agregó su propio backend RCS a la aplicación Google Messages. Sin embargo, en Android, Sólo la aplicación Google Messages puede acceder a la API RCS de Android. Esto podría cambiar si Google abre su "API de mensajes de Android".

En 2019, supimos que Google estaba trabajando para agregar una API RCS. Desafortunadamente, las API se han ocultado a los desarrolladores y solo pueden ser utilizadas por aplicaciones en una lista de permitidos oculta, que incluye la aplicación Google Messages. Aunque la aplicación Google Messages ha mejorado mucho últimamente, todavía está actualizada con funciones básicas que encontrarás en muchas otras aplicaciones de mensajería de texto para Android. El problema de cambiar a cualquiera de estas otras aplicaciones es que no podrá enviar mensajes a través de RCS, por lo que perderá todas las funciones de las que hablamos anteriormente. Sin embargo, hemos encontrado evidencia de que Google tiene una "API de mensajes de Android" no publicada que permite que cualquier aplicación de mensajería de texto de terceros envíe mensajes SMS / MMS / RCS utilizando Mensajes de Google.

Te puede interesar:  La serie Samsung Galaxy S23 podría ver chips Snapdragon en más regiones

Un desmontaje de APK a menudo puede predecir funciones que podrían llegar en una actualización futura de una aplicación, pero es posible que una de las funciones que mencionamos aquí no esté disponible en una versión futura. De hecho, estas características no están implementadas actualmente en la versión en vivo y los desarrolladores pueden verificarlas en cualquier momento en una versión futura.

Cuando Google Messages se lanzó hoy a Google Play, decodificamos el APK y descubrimos las siguientes cadenas en sus recursos:

<string name="external_messaging_api_description">With this permission the app will be allowed to send SMS/MMS/RCS using Android Messages. It will have an access to send messages without any extra approvals.</string>
<string name="external_messaging_api_label">Permission to send SMS/MMS/RCS messages using Android Messages API</string>

Estas cadenas describen claramente un permiso que las aplicaciones de mensajería de terceros pueden solicitar para poder enviar mensajes SMS, MMS o RCS a través de la aplicación Google Messages. En el archivo de manifiesto de la aplicación Google Messages, también encontramos el permiso que las aplicaciones de mensajería deberán declarar:

<permission android:description="@string/external_messaging_api_description" android:label="@string/external_messaging_api_label" android:name="com.google.android.apps.messaging.EXTERNAL_MESSAGING_API" android:permissionGroup="android.permission-group.SMS" android:protectionLevel="dangerous"/>

El tipo de permiso aparece como "inseguro", lo que significa que no se otorgará a una aplicación solicitante sin que se muestre una confirmación al usuario. Esto también se sugiere en las cadenas incrustadas arriba, que establecen que una aplicación que tiene permiso puede "enviar mensajes sin ningún adicional aprobaciones ”, lo que implica que la aprobación debe darse primero. La autorización se agrupa en la categoría de SMS, lo que tiene sentido ya que solo está destinada a aplicaciones de mensajería.

Te puede interesar:  Google llama a la serie Pixel 6 un éxito comercial

Si bien esperábamos que Google abriera la API RCS para la plataforma Android, existe una gran ventaja potencial en que Google Messages maneje el enrutamiento de mensajes. Esto podría significar que todos los mensajes RCS enviados a través de una aplicación de mensajería de terceros utilizarán el servicio de chat de Google, que hasta ahora es la implementación de RCS más utilizada, ya que ninguna de las versiones de los operadores ha despegado.

Todavía no hemos encontrado un anuncio de Google sobre esta API de mensajería de Android, pero esperamos verlo abierto pronto. Las aplicaciones de mensajería de texto de terceros se encuentran actualmente en desventaja porque no son compatibles con RCS, pero esta API le permitirá usar su aplicación de mensajería de texto favorita y disfrutar de los beneficios de RCS. Por supuesto, la aplicación de mensajería de texto de terceros tendrá que implementar la nueva API, pero no parece que sea demasiado difícil de implementar.


Actualización 1: API solo se encuentra en la versión Samsung de la aplicación

Poco después de la publicación de este artículo, nos enteramos de que los canales y la entrada de manifiesto para la API de mensajes de Android solo se pueden encontrar en la aplicación de mensajes de Google para teléfonos Samsung Galaxy. Es la misma aplicación y el mismo nombre de paquete, pero Google Play implementa dinámicamente esta versión de la aplicación en los teléfonos Samsung Galaxy. Estas entradas se agregaron hace varias versiones, por lo que la API en sí no parece ser nueva. No sabemos por qué las entradas solo aparecen en la versión de la aplicación para teléfonos Samsung, pero es posible que Google haya creado la API para que la aplicación de mensajería de Samsung pueda usar el servicio de chat de Google sin que los usuarios tengan que cambiar de aplicación. Sin embargo, no vemos por qué esta API no se puede abrir a otras aplicaciones, y todavía no vemos ninguna evidencia en la aplicación Samsung Messages de que utilice esta API. Con suerte, Google abre la API a todas las aplicaciones de mensajería de terceros al incluirla en la versión principal de la aplicación.

Te puede interesar:  La aplicación Google Tasks para Android pronto agregará un botón de estrella

Actualización 2: API restringida a aplicaciones de Samsung

Obtenga más información sobre la aplicación Google Messages (h / t 9to5Google), encontramos evidencia de que esta API de mensajes de Android está actualmente limitada a ciertas aplicaciones de Samsung. Específicamente, parece que esta función tiene como objetivo permitir que los dispositivos portátiles y las tabletas conectadas de Samsung envíen mensajes SMS, MMS y RCS a través de Google Messages. Esto es parte de la función de continuidad de llamadas y mensajes de Samsung.

La lista de autorizaciones actual incluye el paquete para la continuidad de llamadas y mensajes, es decir. "com.samsung.android.mdecservice", entre otras aplicaciones. El código verifica el nombre del paquete y la firma de la aplicación solicitante antes de otorgar acceso a la API. Una bandera permite que cualquier aplicación acceda a la API, pero este valor claramente no está destinado al uso público. (La bandera se llama acertadamente "allow_any_app_to_connect_do_not_use_in_public_builds".)

Gracias a PNF Software por proporcionarnos una licencia de usuario Descompilador JEB, una herramienta de ingeniería inversa de grado profesional para aplicaciones de Android.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Subir

Usamos cookies para mejorar la experiencia del usuario. Selecciona aceptar para continuar navegando. Más información

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad