Google Messaggi dispone di un'API RCS nascosta per app di terze parti

L'app Google Messaggi dispone di un'API Messaggi Android nascosta che potrebbe consentire alle app di messaggistica di terze parti di inviare messaggi RCS.

Aggiornamento 2 (09/07/2021, 16:49 ET): Abbiamo appreso che questa API RCS attualmente non è destinata all'utilizzo da parte di app di terze parti. Clicca qui per maggiori informazioni.

Aggiornamenti precedenti

Aggiornamento 1 (09/07/2021, 14:53 ET): Abbiamo aggiornato l'articolo con l'informazione che l'API può essere trovata solo nella versione esclusiva Samsung dell'app Google Messaggi. Clicca qui per maggiori informazioni.

Per saperne di più

RCS, che sta per Rich Communication Services, è generalmente considerato il successore degli SMS. Supporta funzionalità come la gestione delle chat di gruppo, condivisioni di file di qualità superiore, conferme di lettura, indicatori di digitazione e crittografia end-to-end. Per poter utilizzare il protocollo RCS per le chat, deve essere supportato dalla rete, dal sistema operativo del telefono e dall'app di messaggistica del telefono tramite un'API. Gli operatori americani hanno ritardato troppo a lungo l'adozione di RCS, quindi Google li ha ignorati completamente e ha aggiunto il proprio backend RCS all'app Google Messaggi. Tuttavia, su Android,

soltanto l'app Google Messaggi può accedere all'API RCS di Android. Ciò potrebbe cambiare se Google aprisse la sua "API Messaggi Android".

Nel 2019, abbiamo imparato che Google stava lavorando all'aggiunta di un'API RCS. Purtroppo, le API sono state nascoste agli sviluppatori e possono essere utilizzate solo dalle app presenti in una lista consentita nascosta, che include l'app Google Messaggi. Sebbene l'app Google Messaggi sia migliorata molto ultimamente, lo è ancora aggiornato con funzionalità di base ne troverai molti altri app di messaggistica di testo per Android. Il problema con il passaggio a una di queste altre app è che non sarai in grado di inviare messaggi tramite RCS, quindi perderai tutte le funzionalità di cui abbiamo parlato sopra. Tuttavia, abbiamo trovato prove del fatto che Google dispone di una "API Android Messaggi" non pubblicizzata che consente a qualsiasi app di messaggistica di terze parti di inviare messaggi SMS/MMS/RCS utilizzando Google Messaggi.

Uno smontaggio dell'APK può spesso prevedere funzionalità che potrebbero essere presenti in un futuro aggiornamento di un'applicazione, ma è possibile che qualcuna delle funzionalità menzionate qui non sia presente in una versione futura. Questo perché queste funzionalità non sono attualmente implementate nella build live e potrebbero essere ritirate in qualsiasi momento dagli sviluppatori in una build futura.

Quando Google Messaggi è stato lanciato oggi su Google Play, abbiamo decodificato l'APK e scoperto le seguenti stringhe nelle sue risorse:

<stringname="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>
<stringname="external_messaging_api_label">Permission to send SMS/MMS/RCS messages using Android Messages APIstring>

Queste stringhe descrivono chiaramente un permesso che le app di messaggistica di terze parti possono richiedere per poter inviare messaggi SMS, MMS o RCS tramite l'app Google Messaggi. All'interno del file Manifest dell'app Google Messaggi abbiamo trovato anche i permessi che le app di messaggistica dovranno dichiarare:

<permissionandroid: 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"/>

Il tipo di autorizzazione è elencato come "pericoloso", il che significa che non verrà concesso a un'app richiedente senza che venga visualizzata una conferma all'utente. Ciò è accennato anche nelle stringhe incorporate sopra, che affermano che un'app che detiene l'autorizzazione può "inviare messaggi senza alcun extra approvazioni", il che implica che l'approvazione deve essere data inizialmente. L'autorizzazione è raggruppata nella categoria SMS, il che ha senso poiché è destinata solo ad essere utilizzata dalle app di messaggistica.

Anche se speravamo di vedere Google aprire l'API RCS della piattaforma Android, c'è potenzialmente un grande vantaggio nel far sì che Google Messaggi gestisca il routing dei messaggi. Ciò potrebbe significare che tutti i messaggi RCS inviati tramite un'app di messaggistica di terze parti utilizzeranno il servizio Chat di Google, che è finora l'implementazione RCS più utilizzata da allora. nessuna delle versioni dei vettori sono decollati.

Non abbiamo ancora trovato un annuncio da parte di Google su questa API Messaggi Android, ma speriamo di vederla presto disponibile. Le app di messaggistica di terze parti sono in svantaggio in questo momento poiché non supportano RCS, ma questa API ti consentirà di utilizzare la tua app di messaggistica preferita e godere dei vantaggi di RCS. Naturalmente, l'app di messaggistica di terze parti dovrà effettivamente implementare la nuova API, ma non sembra che sarà troppo difficile da implementare.

MessaggiSviluppatore: Google LLC

Prezzo: gratuito.

4.2.

Scaricamento

Aggiornamento 1: API presente solo nella versione Samsung dell'app

Poco dopo aver pubblicato questo articolo, abbiamo appreso che le stringhe e la voce Manifest per l'API Messaggi Android possono essere trovate solo nella App Google Messaggi per telefoni Samsung Galaxy. È la stessa app e il nome del pacchetto, ma Google Play distribuisce dinamicamente questa versione dell'app ai telefoni Samsung Galaxy. Queste voci sono state aggiunte diverse versioni fa, quindi l'API stessa non sembra essere nuova. Non siamo sicuri del motivo per cui le voci vengano visualizzate solo nella versione dell'app per telefoni Samsung, ma è possibile Google ha creato l'API in modo che l'app di messaggistica Samsung possa utilizzare il servizio Chat di Google senza che gli utenti debbano cambiare app. Tuttavia, non vediamo perché questa API non possa essere aperta ad altre app e non vediamo ancora alcuna prova all'interno dell'app Samsung Messaggi stessa che utilizzi questa API. Si spera che Google apra l'API a tutte le app di messaggistica di terze parti includendola nella versione principale dell'app.


Aggiornamento 2: API limitata alle app Samsung

Scavando più a fondo nell'app Google Messaggi (h/t 9to5Google), abbiamo riscontrato che l'utilizzo dell'API Messaggi Android è attualmente limitato a determinate app Samsung. Nello specifico, sembra che questa funzionalità abbia lo scopo di consentire ai dispositivi indossabili Samsung e ai tablet connessi di inviare messaggi SMS, MMS e RCS tramite Google Messaggi. Questo fa parte della funzione di continuità delle chiamate e dei messaggi di Samsung.

L'attuale lista consentita include il pacchetto per la continuità delle chiamate e dei messaggi, ad es. "com.samsung.android.mdecservice", tra le altre app. Il codice controlla il nome del pacchetto e la firma dell'app richiedente prima di concedere l'accesso all'API. Un flag consente a qualsiasi app di accedere all'API, ma questo valore è chiaramente destinato a non essere utilizzato pubblicamente. (Il flag è giustamente chiamato "allow_any_app_to_connect_do_not_use_in_public_builds".)

Grazie a PNF Software per averci fornito una licenza d'uso Decompilatore JEB, uno strumento di reverse engineering di livello professionale per applicazioni Android.