Google 메시지 앱에는 타사 메시징 앱이 RCS 메시지를 보낼 수 있도록 하는 숨겨진 Android 메시지 API가 있습니다.
업데이트 2(2021년 7월 9일 @ 오후 4시 49분(ET)): 우리는 이 RCS API가 현재 타사 앱에서 사용할 수 없다는 것을 알게 되었습니다. 자세한 내용을 보려면 여기를 클릭하세요.
이전 업데이트
업데이트 1(2021년 7월 9일 @ 오후 2시 53분(ET)): API는 Google 메시지 앱의 삼성 독점 버전에서만 찾을 수 있다는 정보로 기사를 업데이트했습니다. 자세한 내용을 보려면 여기를 클릭하세요.
더 읽어보세요
리치 커뮤니케이션 서비스(Rich Communication Services)의 약자인 RCS는 일반적으로 SMS의 후속 제품으로 간주됩니다. 그룹 채팅 관리, 고품질 파일 공유, 읽음 확인, 입력 표시 및 종단 간 암호화와 같은 기능을 지원합니다. 채팅에 RCS 프로토콜을 사용하려면 API를 통해 네트워크, 휴대폰 OS 및 휴대폰 메시징 앱에서 지원되어야 합니다. 미국 통신업체들은 RCS 채택에 너무 오랫동안 질질 끌었기 때문에 Google은 이를 완전히 우회하고 자체 RCS 백엔드를 Google 메시지 앱에 추가했습니다. 그러나 안드로이드의 경우, 오직 Google 메시지 앱은 Android의 RCS API에 액세스할 수 있습니다. Google이 "Android 메시지 API"를 열면 상황이 바뀔 수 있습니다.
2019년에 다시, 우리는 배웠다 Google이 RCS API를 추가하는 작업을 진행 중이었습니다. 안타깝게도 API는 개발자에게 숨겨져 있으며 Google 메시지 앱을 포함하는 숨겨진 허용 목록에 있는 앱에서만 사용할 수 있습니다. 최근 Google 메시지 앱이 많이 개선되었지만 여전히 기본 기능으로 업데이트됨 다른 많은 곳에서도 찾을 수 있을 거예요 Android용 문자 메시지 앱. 다른 앱 중 하나로 전환할 때의 문제는 RCS를 통해 메시지를 보낼 수 없기 때문에 위에서 설명한 모든 기능을 잃게 된다는 것입니다. 그러나 우리는 Google이 타사 문자 메시지 앱이 Google 메시지를 사용하여 SMS/MMS/RCS 메시지를 보낼 수 있도록 하는 미공개 'Android 메시지 API'를 보유하고 있다는 증거를 발견했습니다.
APK 분해는 애플리케이션의 향후 업데이트에 포함될 기능을 예측할 수 있는 경우가 많지만 여기서 언급한 기능 중 일부가 향후 릴리스에 포함되지 않을 수도 있습니다. 이는 이러한 기능이 현재 라이브 빌드에서 구현되지 않았으며 향후 빌드에서 개발자가 언제든지 가져올 수 있기 때문입니다.
오늘 Google Play에서 Google 메시지가 출시되었을 때 우리는 APK를 디코딩하여 해당 리소스에서 다음 문자열을 발견했습니다.
<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>
이러한 문자열은 타사 메시지 앱이 Google 메시지 앱을 통해 SMS, MMS 또는 RCS 메시지를 보낼 수 있도록 요청할 수 있는 권한을 명확하게 설명합니다. Google 메시지 앱의 매니페스트 파일 내에서 메시지 앱이 선언해야 하는 권한도 발견했습니다.
<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"/>
권한 유형은 "위험"으로 표시됩니다. 즉, 사용자에게 확인 메시지가 표시되지 않으면 요청하는 앱에 권한이 부여되지 않습니다. 이는 위에 포함된 문자열에서도 암시되며, 권한을 보유한 앱은 "아무런 권한 없이 메시지를 보낼 수 있습니다"라고 명시되어 있습니다. 추가의 승인'이라는 문구는 처음에 승인을 받아야 함을 의미합니다. 권한은 SMS 카테고리 아래에 그룹화되어 있는데, 이는 메시징 앱에서만 사용하도록 의도되었기 때문에 의미가 있습니다.
Google이 Android 플랫폼의 RCS API를 공개하는 것을 기대하고 있지만 Google 메시지가 메시지 라우팅을 처리하도록 하면 잠재적으로 한 가지 큰 이점이 있습니다. 이는 타사 메시징 앱을 통해 전송된 모든 RCS 메시지가 Google의 채팅 서비스를 사용한다는 의미일 수 있습니다. 이는 지금까지 가장 널리 사용되는 RCS 구현입니다. 이동통신사 버전 없음 이륙했습니다.
아직 이 Android 메시지 API에 대한 Google의 발표는 없지만 곧 공개되기를 바라고 있습니다. 타사 문자 메시지 앱은 RCS 지원이 부족하여 현재 불리한 상황에 처해 있습니다. 하지만 이 API를 사용하면 즐겨 사용하는 문자 메시지 앱을 사용하고 RCS의 이점을 누릴 수 있습니다. 물론 타사 문자 메시지 앱이 실제로 새 API를 구현해야 하지만 구현이 크게 어렵지는 않을 것 같습니다.
가격: 무료.
4.2.
업데이트 1: API는 Samsung 버전의 앱에서만 찾을 수 있습니다.
이 기사를 게시한 직후 우리는 Android 메시지 API의 문자열과 매니페스트 항목이 다음 위치에서만 찾을 수 있다는 사실을 알게 되었습니다. 삼성 Galaxy 휴대전화용 Google 메시지 앱. 앱과 패키지 이름은 동일하지만 Google Play는 이 버전의 앱을 Samsung Galaxy 휴대폰에 동적으로 출시합니다. 이러한 항목은 여러 버전 전에 추가되었으므로 API 자체는 새로운 것 같지 않습니다. 해당 항목이 삼성 휴대폰용 앱 버전에만 표시되는 이유는 확실하지 않지만 가능합니다. Google은 사용자가 전환할 필요 없이 삼성의 메시징 앱이 Google의 채팅 서비스를 사용할 수 있도록 API를 만들었습니다. 앱. 그러나 이 API를 다른 앱에서 열 수 없는 이유를 알 수 없으며 삼성 메시지 앱 자체 내에서 이 API를 사용하고 있다는 증거도 아직 볼 수 없습니다. Google이 앱의 기본 버전에 API를 포함하여 모든 타사 메시징 앱에 API를 개방하길 바랍니다.
업데이트 2: 삼성 앱으로 제한된 API
Google 메시지 앱에 대해 자세히 알아보기(h/t 나인투파이브구글), 우리는 이 Android 메시지 API가 현재 특정 삼성 앱에서 사용하도록 제한되어 있다는 증거를 발견했습니다. 구체적으로 이 기능은 삼성 웨어러블 및 커넥티드 태블릿에서 Google 메시지를 통해 SMS, MMS, RCS 메시지를 보낼 수 있도록 하기 위한 것으로 보입니다. 이는 삼성의 통화 및 메시지 연속성 기능의 일부입니다.
현재 허용 목록에는 통화 및 메시지 연속성 패키지가 포함되어 있습니다. "com.samsung.android.mdecservice" 등의 앱이 있습니다. 코드는 API에 대한 액세스 권한을 부여하기 전에 요청하는 앱의 패키지 이름과 서명을 확인합니다. 플래그를 사용하면 모든 앱이 API에 액세스할 수 있지만 이 값은 공개적으로 사용되지 않도록 의도된 것이 분명합니다. (플래그 이름은 적절하게 "allow_any_app_to_connect_do_not_use_in_public_builds"입니다.)
사용할 수 있는 라이센스를 제공해주신 PNF Software에 감사드립니다. JEB 디컴파일러, Android 애플리케이션을 위한 전문가 수준의 리버스 엔지니어링 도구입니다.