Google poruke imaju skriveni RCS API za aplikacije trećih strana

Aplikacija Google Messages ima skriveni Android Messages API koji bi aplikacijama za razmjenu poruka trećih strana mogao omogućiti slanje RCS poruka.

Ažuriranje 2 (09.07.2021. @ 16:49 ET): Saznali smo da ovaj RCS API trenutno nije namijenjen za korištenje u aplikacijama trećih strana. Kliknite ovdje za više informacija.

Prethodna ažuriranja

Ažuriranje 1 (09.07.2021. @ 14:53 ET): Ažurirali smo članak s informacijom da se API može pronaći samo u verziji aplikacije Google Messages koja je ekskluzivna za Samsung. Kliknite ovdje za više informacija.

Čitaj više

RCS, što je kratica za Rich Communication Services, općenito se smatra nasljednikom SMS-a. Podržava značajke kao što su upravljanje grupnim chatom, kvalitetnije dijeljenje datoteka, potvrde čitanja, indikatori tipkanja i enkripcija s kraja na kraj. Kako biste koristili RCS protokol za chatove, mora ga podržavati mreža, OS telefona i aplikacija telefona za razmjenu poruka putem API-ja. Američki operateri predugo su odugovlačili s prihvaćanjem RCS-a, pa ih je Google u potpunosti zaobišao i dodao vlastitu RCS pozadinu u aplikaciju Google Messages. Međutim, na Androidu,

samo aplikacija Google Messages može pristupiti Androidovom RCS API-ju. To bi se moglo promijeniti ako Google otvori svoj "Android Messages API".

Još 2019. naučili smo da Google radi na dodavanju RCS API-ja. Nažalost, API-ji su skriveni od programera i mogu ih koristiti samo aplikacije na skrivenom popisu dopuštenih — što uključuje aplikaciju Google poruke. Iako je aplikacija Google Messages postala puno bolja u posljednje vrijeme, još uvijek je ažuriran osnovnim značajkama pronaći ćete u mnogim drugim aplikacije za razmjenu tekstualnih poruka za Android. Problem s prelaskom na neku od tih drugih aplikacija je taj što nećete moći slati poruke preko RCS-a, pa ćete izgubiti sve značajke o kojima smo govorili gore. Međutim, pronašli smo dokaze da Google ima neobjavljeni "Android Messages API" koji omogućuje bilo kojoj aplikaciji za tekstualne poruke treće strane da šalje SMS/MMS/RCS poruke pomoću Google poruka.

Rastavljanje APK-a često može predvidjeti značajke koje bi mogle stići u budućem ažuriranju aplikacije, ali moguće je da bilo koja od značajki koje ovdje spominjemo neće biti dostupna u budućem izdanju. To je zato što ove značajke trenutno nisu implementirane u live build-u i programeri ih mogu povući u bilo kojem trenutku u budućoj verziji.

Kada je Google Messages danas uveden na Google Playu, dekodirali smo APK i otkrili sljedeće nizove u njegovim resursima:

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

Ovi nizovi jasno opisuju dopuštenje koje aplikacije za razmjenu poruka trećih strana mogu zatražiti kako bi mogle slati SMS, MMS ili RCS poruke putem aplikacije Google poruke. Unutar datoteke manifesta aplikacije Google Messages također smo pronašli dozvolu koju će aplikacije za razmjenu poruka morati deklarirati:

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

Vrsta dopuštenja navedena je kao "opasna", što znači da se neće dodijeliti aplikaciji koja zahtijeva bez potvrde koja se prikaže korisniku. To je također nagoviješteno u gornjim nizovima koji navode da aplikacija koja ima dopuštenje može "slati poruke bez ekstra odobrenja", što znači da se prvo mora dati odobrenje. Dopuštenje je grupirano pod kategorijom SMS, što ima smisla jer je namijenjeno samo aplikacijama za slanje poruka.

Iako smo se nadali da će Google otvoriti RCS API platforme Android, potencijalno postoji jedna velika prednost toga što Google poruke upravljaju usmjeravanjem poruka. To bi moglo značiti da će sve RCS poruke poslane putem aplikacije za razmjenu poruka treće strane koristiti Googleovu uslugu Chat, koja je dosad najčešće korištena RCS implementacija od niti jedna verzija nositelja su poletjeli.

Još nismo pronašli najavu od Googlea o ovom Android Messages API-ju, ali se nadamo da ćemo ga uskoro otvoriti. Aplikacije trećih strana za razmjenu tekstualnih poruka trenutačno su u nepovoljnijem položaju budući da nemaju podršku za RCS, ali ovaj API znači da možete koristiti svoju omiljenu aplikaciju za razmjenu tekstualnih poruka i uživati ​​u prednostima RCS-a. Naravno, aplikacija za razmjenu tekstualnih poruka treće strane morat će stvarno implementirati novi API, ali ne čini se da će to biti previše teško implementirati.

PorukeProgramer: Google LLC

Cijena: besplatno.

4.2.

preuzimanje datoteka

Ažuriranje 1: API se nalazi samo u Samsung verziji aplikacije

Ubrzo nakon što smo objavili ovaj članak, saznali smo da se nizovi i unos Manifesta za Android Messages API mogu pronaći samo u Aplikacija Google Messages za telefone Samsung Galaxy. To je ista aplikacija i naziv paketa, ali Google Play dinamički uvodi ovu verziju aplikacije na Samsung Galaxy telefone. Ovi unosi su dodani prije nekoliko verzija, pa se čini da sam API nije nov. Nismo sigurni zašto se unosi prikazuju samo u verziji aplikacije za Samsung telefone, ali moguće je Google je napravio API tako da Samsungova aplikacija za slanje poruka može koristiti Googleovu uslugu Chat bez potrebe za prebacivanjem korisnika aplikacije. Međutim, ne vidimo zašto se ovaj API ne može otvoriti drugim aplikacijama, a također ne vidimo nikakve dokaze unutar same aplikacije Samsung Messages da koristi ovaj API. Nadajmo se da Google otvara API svim aplikacijama za razmjenu poruka trećih strana uključivanjem u glavnu verziju aplikacije.


2. ažuriranje: API ograničen na Samsungove aplikacije

Kopanje dublje u aplikaciju Google poruke (h/t 9to5Google), pronašli smo dokaze da je ovaj Android Messages API trenutačno ograničen za korištenje odabranim Samsungovim aplikacijama. Konkretno, čini se da ova značajka ima za cilj omogućiti Samsungu nosive uređaje i povezane tablete da šalju SMS, MMS i RCS poruke putem Google poruka. Ovo je dio značajke Samsung Continuity Call & Message.

Trenutačni popis dopuštenih uključuje paket za kontinuitet poziva i poruka, tj. "com.samsung.android.mdecservice", između ostalih aplikacija. Kôd provjerava naziv paketa i potpis aplikacije koja zahtijeva prije odobravanja pristupa API-ju. Oznaka omogućuje bilo kojoj aplikaciji pristup API-ju, ali ova vrijednost jasno nije namijenjena za javnu upotrebu. (Oznaka je prikladno nazvana "allow_any_app_to_connect_do_not_use_in_public_builds".)

Zahvaljujemo PNF softveru što nam je dao licencu za korištenje JEB Decompiler, profesionalni alat za obrnuti inženjering za Android aplikacije.