Google Messages verfügt über eine versteckte RCS-API für Apps von Drittanbietern

Die Google Messages-App verfügt über eine versteckte Android-Nachrichten-API, mit der Messaging-Apps von Drittanbietern RCS-Nachrichten senden können.

Update 2 (07.09.2021 um 16:49 Uhr ET): Wir haben erfahren, dass diese RCS-API derzeit nicht für die Verwendung durch Drittanbieter-Apps vorgesehen ist. Klicken Sie hier für weitere Informationen.

Frühere Updates

Update 1 (09.07.2021 um 14:53 Uhr ET): Wir haben den Artikel mit der Information aktualisiert, dass die API nur in der Samsung-exklusiven Version der Google Messages-App zu finden ist. Klicken Sie hier für weitere Informationen.

mehr lesen

RCS, das für Rich Communication Services steht, wird allgemein als Nachfolger von SMS angesehen. Es unterstützt Funktionen wie Gruppenchat-Verwaltung, Dateifreigaben höherer Qualität, Lesebestätigungen, Tippindikatoren und End-to-End-Verschlüsselung. Um das RCS-Protokoll für Chats verwenden zu können, muss es vom Netzwerk, dem Betriebssystem des Telefons und der Messaging-App des Telefons über eine API unterstützt werden. Amerikanische Mobilfunkanbieter zögerten mit der Einführung von RCS zu lange, sodass Google sie komplett umging und der Google Messages-App ein eigenes RCS-Backend hinzufügte. Auf Android jedoch

nur Die Google Messages-App kann auf die RCS-API von Android zugreifen. Das könnte sich ändern, wenn Google seine „Android Messages API“ öffnet.

Im Jahr 2019 wir lernten dass Google daran arbeitete, eine RCS-API hinzuzufügen. Leider waren die APIs den Entwicklern verborgen und können nur von Apps verwendet werden, die auf einer versteckten Zulassungsliste stehen – zu der auch die Google Messages-App gehört. Obwohl die Google Messages-App in letzter Zeit viel besser geworden ist, ist sie es immer noch mit grundlegenden Funktionen aktualisiert Sie finden es in vielen anderen SMS-Apps für Android. Das Problem beim Wechsel zu einer dieser anderen Apps besteht darin, dass Sie keine Nachrichten über RCS senden können und daher alle oben genannten Funktionen verlieren. Wir haben jedoch Hinweise darauf gefunden, dass Google über eine nicht veröffentlichte „Android Messages API“ verfügt, die es jeder SMS-App eines Drittanbieters ermöglicht, SMS/MMS/RCS-Nachrichten über Google Messages zu senden.

Ein APK-Teardown kann oft Funktionen vorhersagen, die in einem zukünftigen Update einer Anwendung verfügbar sein werden, aber es ist möglich, dass eine der hier erwähnten Funktionen in einer zukünftigen Version nicht verfügbar sein wird. Dies liegt daran, dass diese Funktionen derzeit im Live-Build nicht implementiert sind und von den Entwicklern jederzeit in einem zukünftigen Build übernommen werden können.

Als Google Messages heute bei Google Play eingeführt wurde, haben wir das APK entschlüsselt und die folgenden Zeichenfolgen in seinen Ressourcen entdeckt:

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

Diese Zeichenfolgen beschreiben eindeutig eine Berechtigung, die Messaging-Apps von Drittanbietern anfordern können, um SMS-, MMS- oder RCS-Nachrichten über die Google Messages-App senden zu können. In der Manifestdatei der Google Messages-App haben wir auch die Berechtigung gefunden, die Messaging-Apps deklarieren müssen:

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

Der Berechtigungstyp wird als „gefährlich“ aufgeführt, was bedeutet, dass er einer anfordernden App nicht gewährt wird, ohne dass dem Benutzer eine Bestätigung angezeigt wird. Dies wird auch in den oben eingebetteten Zeichenfolgen angedeutet, die besagen, dass eine App, die über die Berechtigung verfügt, „Nachrichten senden kann, ohne dass eine solche Berechtigung vorliegt“. extra Genehmigungen", was bedeutet, dass die Genehmigung zunächst erteilt werden muss. Die Berechtigung ist in der Kategorie „SMS“ gruppiert, was sinnvoll ist, da sie nur für die Verwendung durch Messaging-Apps gedacht ist.

Obwohl wir gehofft hatten, dass Google die RCS-API der Android-Plattform öffnen würde, gibt es möglicherweise einen großen Vorteil, wenn Google Messages die Nachrichtenweiterleitung übernimmt. Dies könnte bedeuten, dass alle RCS-Nachrichten, die über eine Messaging-App eines Drittanbieters gesendet werden, den Chat-Dienst von Google verwenden, der bislang die am weitesten verbreitete RCS-Implementierung seither ist keine der Trägerversionen sind abgehauen.

Wir haben noch keine Ankündigung von Google zu dieser Android-Nachrichten-API gefunden, hoffen aber, dass sie bald veröffentlicht wird. SMS-Apps von Drittanbietern sind derzeit im Nachteil, da ihnen RCS-Unterstützung fehlt. Mit dieser API können Sie jedoch Ihre bevorzugte SMS-App verwenden und die Vorteile von RCS genießen. Natürlich muss die SMS-App des Drittanbieters die neue API tatsächlich implementieren, aber es sieht nicht so aus, als ob die Implementierung allzu schwierig sein wird.

MitteilungenEntwickler: Google LLC

Kostenlos.

4.2.

Herunterladen

Update 1: API nur in der Samsung-Version der App zu finden

Kurz nachdem wir diesen Artikel veröffentlicht hatten, erfuhren wir, dass die Zeichenfolgen und der Manifest-Eintrag für die Android Messages API nur im zu finden sind Google Messages-App für Samsung Galaxy-Telefone. Es handelt sich um die gleiche App und den gleichen Paketnamen, aber Google Play führt diese Version der App dynamisch auf Samsung Galaxy-Telefonen ein. Diese Einträge wurden bereits vor mehreren Versionen hinzugefügt, sodass die API selbst nicht neu zu sein scheint. Wir sind uns nicht sicher, warum die Einträge nur in der Version der App für Samsung-Telefone angezeigt werden, aber es ist möglich Google hat die API entwickelt, damit die Messaging-App von Samsung den Chat-Dienst von Google nutzen kann, ohne dass Benutzer wechseln müssen Apps. Wir verstehen jedoch nicht, warum diese API nicht für andere Apps geöffnet werden kann, und wir sehen auch noch keine Hinweise in der Samsung Messages-App selbst, dass sie diese API verwendet. Hoffentlich öffnet Google die API für alle Messaging-Apps von Drittanbietern, indem es sie in die Hauptversion der App einbindet.


Update 2: API auf Samsung-Apps beschränkt

Erfahren Sie mehr über die Google Messages-App (h/t 9to5Google) haben wir Hinweise darauf gefunden, dass die Nutzung dieser Android-Nachrichten-API derzeit durch ausgewählte Samsung-Apps eingeschränkt ist. Konkret scheint es, dass diese Funktion darauf abzielt, Samsung-Wearables und verbundenen Tablets das Senden von SMS-, MMS- und RCS-Nachrichten über Google Messages zu ermöglichen. Dies ist Teil der Call & Message Continuity-Funktion von Samsung.

Die aktuelle Zulassungsliste enthält das Paket für Call & Message Continuity, d. h. „com.samsung.android.mdecservice“, unter anderem. Der Code überprüft den Paketnamen und die Signatur der anfordernden App, bevor er Zugriff auf die API gewährt. Ein Flag ermöglicht jeder App den Zugriff auf die API, aber dieser Wert ist eindeutig nicht dazu gedacht, öffentlich verwendet zu werden. (Das Flag trägt treffend den Namen „allow_any_app_to_connect_do_not_use_in_public_builds“.)

Vielen Dank an PNF Software für die Bereitstellung einer Nutzungslizenz JEB-Decompiler, ein professionelles Reverse-Engineering-Tool für Android-Anwendungen.