Google Messages are un API RCS ascuns pentru aplicații terță parte

Aplicația Google Messages are un API Android Messages ascuns care ar putea permite aplicațiilor de mesagerie terță parte să trimită mesaje RCS.

Actualizare 2 (07.09.2021 la 16:49 ET): Am aflat că acest API RCS nu este în prezent destinat utilizării de către aplicații terțe. Faceți clic pe AICI pentru mai multe informații.

Actualizări anterioare

Actualizare 1 (07.09.2021 la 14:53 ET): Am actualizat articolul cu informații conform cărora API-ul poate fi găsit numai în versiunea exclusivă Samsung a aplicației Google Messages. Faceți clic pe AICI pentru mai multe informații.

citeşte mai mult

RCS, care înseamnă Rich Communication Services, este în general văzut ca succesorul SMS-ului. Acceptă funcții precum gestionarea chatului de grup, partajări de fișiere de calitate superioară, chitanțe de citire, indicatori de tastare și criptare end-to-end. Pentru a utiliza protocolul RCS pentru chat, acesta trebuie să fie acceptat de rețea, sistemul de operare al telefonului și aplicația de mesagerie a telefonului printr-un API. Transportatorii americani și-au târât picioarele prea mult timp în adoptarea RCS, așa că Google le-a ocolit complet și a adăugat propriul lor backend RCS la aplicația Google Messages. Cu toate acestea, pe Android,

numai aplicația Google Messages poate accesa API-ul RCS pentru Android. Acest lucru s-ar putea schimba dacă Google își deschide „Android Messages API”.

În 2019, am învățat că Google lucra la adăugarea unui API RCS. Din păcate, API-urile au fost ascunse de dezvoltatori și pot fi folosite numai de aplicațiile dintr-o listă de permise ascunsă - care include aplicația Google Messages. Deși aplicația Google Messages s-a îmbunătățit mult în ultimul timp, încă mai există actualizat cu caracteristici de bază veți găsi în multe altele aplicații de mesagerie text pentru Android. Problema cu trecerea la una dintre aceste alte aplicații este că nu veți putea trimite mesaje prin RCS, așa că veți pierde toate funcțiile despre care am vorbit mai sus. Cu toate acestea, am găsit dovezi că Google are un „API Android Messages” nepublicat, care permite oricărei aplicații de mesagerie text terță parte să trimită mesaje SMS/MMS/RCS folosind Google Messages.

O demontare a APK-ului poate prezice adesea funcții care pot apărea într-o actualizare viitoare a unei aplicații, dar este posibil ca oricare dintre caracteristicile pe care le menționăm aici să nu apară într-o versiune viitoare. Acest lucru se datorează faptului că aceste caracteristici sunt în prezent neimplementate în versiunea live și pot fi extrase oricând de către dezvoltatori într-o versiune viitoare.

Când Google Messages a fost lansat astăzi pe Google Play, am decodat APK-ul și am descoperit următoarele șiruri în resursele sale:

<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>

Aceste șiruri descriu în mod clar o permisiune pe care aplicațiile de mesagerie terță parte o pot solicita pentru a putea trimite mesaje SMS, MMS sau RCS prin aplicația Google Messages. În fișierul Manifest al aplicației Google Messages, am găsit și permisiunea pe care aplicațiile de mesagerie vor trebui să o declare:

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

Tipul de permisiune este listat ca „periculos”, ceea ce înseamnă că nu va fi acordat unei aplicații solicitante fără a fi afișată o confirmare pentru utilizator. Acest lucru este, de asemenea, sugerat în șirurile încorporate mai sus, care afirmă că o aplicație care deține permisiunea poate „trimite mesaje fără niciun suplimentar aprobări”, ceea ce înseamnă că aprobarea trebuie acordată inițial. Permisiunea este grupată în categoria SMS, ceea ce are sens, deoarece este destinată doar a fi utilizată de aplicațiile de mesagerie.

Deși speram să vedem Google să deschidă API-ul RCS al platformei Android, există potențial un mare avantaj ca Google Messages să se ocupe de rutarea mesajelor. Aceasta ar putea însemna că toate mesajele RCS trimise printr-o aplicație de mesagerie terță parte vor folosi serviciul Chat Google, care este până acum cea mai utilizată implementare RCS de la nici una dintre versiunile transportatorilor au decolat.

Nu am găsit încă un anunț de la Google cu privire la acest API Android Messages, dar sperăm să îl vedem deschis în curând. Aplicațiile de mesagerie text de la terțe părți sunt în dezavantaj în acest moment, deoarece nu au suport RCS, dar acest API va însemna că puteți utiliza aplicația dvs. de mesagerie text preferată și vă puteți bucura de beneficiile RCS. Desigur, aplicația de mesagerie text terță parte va trebui să implementeze de fapt noul API, dar nu se pare că va fi prea dificil de implementat.

MesajeDezvoltator: Google LLC

Pret: Gratuit.

4.2.

Descarca

Actualizare 1: API-ul găsit doar în versiunea Samsung a aplicației

La scurt timp după ce am publicat acest articol, am aflat că șirurile și intrarea Manifest pentru API-ul Android Messages pot fi găsite numai în Aplicația Google Messages pentru telefoanele Samsung Galaxy. Este același nume de aplicație și pachet, dar Google Play lansează dinamic această versiune a aplicației pe telefoanele Samsung Galaxy. Aceste intrări au fost adăugate cu mai multe versiuni în urmă, așa că API-ul în sine nu pare a fi nou. Nu suntem siguri de ce intrările apar doar în versiunea aplicației pentru telefoanele Samsung, dar este posibil Google a creat API-ul astfel încât aplicația de mesagerie a Samsung să poată folosi serviciul de chat Google fără ca utilizatorii să fie nevoiți să schimbe aplicații. Cu toate acestea, nu vedem de ce acest API nu poate fi deschis pentru alte aplicații și, de asemenea, nu vedem încă nicio dovadă în aplicația Samsung Messages în sine că folosește acest API. Sperăm că Google deschide API-ul pentru toate aplicațiile de mesagerie terță parte, incluzându-l în versiunea principală a aplicației.


Actualizare 2: API limitat la aplicațiile Samsung

Sapă mai adânc în aplicația Google Messages (h/t 9to5Google), am găsit dovezi că acest API Android Messages este în prezent restricționat pentru utilizare de către anumite aplicații Samsung. Mai exact, se pare că această caracteristică este menită să permită dispozitivelor portabile Samsung și tabletelor conectate să trimită mesaje SMS, MMS și RCS prin Google Messages. Aceasta face parte din funcția Samsung Call & Message Continuity.

Lista actuală de permise include pachetul pentru Call & Message Continuity, de ex. „com.samsung.android.mdecservice”, printre alte aplicații. Codul verifică numele pachetului și semnătura aplicației solicitante înainte de a acorda acces la API. Un semnalizare permite oricărei aplicații să acceseze API-ul, dar această valoare este în mod clar destinată să nu fie utilizată public. (Stavilul este denumit în mod adecvat „allow_any_app_to_connect_do_not_use_in_public_builds”.)

Mulțumim software-ului PNF pentru că ne-a oferit o licență de utilizare Decompiler JEB, un instrument de inginerie inversă de calitate profesională pentru aplicații Android.