Google Messages มี RCS API ที่ซ่อนอยู่สำหรับแอปของบุคคลที่สาม

แอป Google Messages มี Android Messages API ที่ซ่อนอยู่ซึ่งอาจทำให้แอปรับส่งข้อความของบุคคลที่สามส่งข้อความ RCS ได้

อัปเดต 2 (07/09/2021 @ 16:49 น. ET): เราได้เรียนรู้ว่าปัจจุบัน RCS API นี้ไม่ได้มีไว้สำหรับแอปของบุคคลที่สาม คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติม

การอัปเดตก่อนหน้า

อัปเดต 1 (07/09/2021 @ 02:53 PM ET): เราได้อัปเดตบทความด้วยข้อมูลที่ว่า API สามารถพบได้ในแอป Google Messages เวอร์ชันพิเศษเฉพาะของ Samsung เท่านั้น คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติม

อ่านเพิ่มเติม

RCS ซึ่งย่อมาจาก Rich Communication Services โดยทั่วไปถูกมองว่าเป็นผู้สืบทอดของ SMS รองรับฟีเจอร์ต่างๆ เช่น การจัดการแชทกลุ่ม การแชร์ไฟล์คุณภาพสูงขึ้น ใบตอบรับการอ่าน ตัวบ่งชี้การพิมพ์ และการเข้ารหัสจากต้นทางถึงปลายทาง หากต้องการใช้โปรโตคอล RCS สำหรับการแชท จะต้องได้รับการสนับสนุนจากเครือข่าย ระบบปฏิบัติการของโทรศัพท์ และแอปส่งข้อความของโทรศัพท์ผ่าน API สายการบินอเมริกันลากเท้าของพวกเขามานานเกินไปในการปรับใช้ RCS ดังนั้น Google จึงข้ามพวกเขาไปโดยสิ้นเชิงและเพิ่มแบ็กเอนด์ RCS ของตัวเองลงในแอป Google Messages อย่างไรก็ตาม บนระบบปฏิบัติการ Android

เท่านั้น แอป Google Messages สามารถเข้าถึง RCS API ของ Android ได้ ซึ่งอาจเปลี่ยนแปลงได้หาก Google เปิด "Android Messages API"

ย้อนกลับไปในปี 2019 เราเรียนรู้ ที่ Google กำลังทำงานเพื่อเพิ่ม RCS API น่าเศร้าที่ API ถูกซ่อนไม่ให้นักพัฒนาซอฟต์แวร์เข้าถึงได้ และใช้ได้เฉพาะกับแอปในรายการที่อนุญาตที่ซ่อนอยู่ ซึ่งรวมถึงแอป Google Messages ด้วย แม้ว่าแอป Google Messages จะดีขึ้นมากในช่วงนี้ แต่ก็ยังเป็นเช่นนั้น อัปเดตด้วยคุณสมบัติพื้นฐาน คุณจะพบกับสิ่งอื่นๆ อีกมากมาย แอพส่งข้อความสำหรับ Android. ปัญหาในการสลับไปใช้แอปอื่นคือคุณจะไม่สามารถส่งข้อความผ่าน RCS ได้ ดังนั้นคุณจะสูญเสียฟีเจอร์ทั้งหมดที่เราพูดถึงข้างต้น อย่างไรก็ตาม เราพบหลักฐานที่แสดงว่า Google มี "Android Messages API" ที่ไม่เปิดเผยต่อสาธารณะ ซึ่งช่วยให้แอปรับส่งข้อความของบุคคลที่สามสามารถส่งข้อความ SMS/MMS/RCS โดยใช้ Google Messages ได้

การแยกส่วน APK มักจะสามารถคาดเดาคุณสมบัติที่อาจมาถึงในการอัปเดตแอปพลิเคชันในอนาคต แต่เป็นไปได้ว่าคุณสมบัติใดๆ ที่เรากล่าวถึงในที่นี้อาจไม่ปรากฏในรุ่นอนาคต เนื่องจากขณะนี้ฟีเจอร์เหล่านี้ยังไม่มีการใช้งานในเวอร์ชันที่ใช้งานจริง และนักพัฒนาอาจดึงมาใช้เมื่อใดก็ได้ในเวอร์ชันต่อๆ ไป

เมื่อ Google Messages เปิดตัววันนี้บน Google Play เราได้ถอดรหัส 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>

สตริงเหล่านี้อธิบายอย่างชัดเจนถึงสิทธิ์ที่แอปรับส่งข้อความของบุคคลที่สามสามารถขอเพื่อให้สามารถส่งข้อความ SMS, MMS หรือ RCS ผ่านแอป Google Messages ได้ ภายในไฟล์ Manifest ของแอป Google Messages เรายังพบการอนุญาตที่แอปส่งข้อความจะต้องประกาศ:

<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 เปิด RCS API ของแพลตฟอร์ม Android แต่ก็อาจมีข้อได้เปรียบที่สำคัญอย่างหนึ่งในการให้ Google Messages จัดการการกำหนดเส้นทางข้อความ ซึ่งอาจหมายความว่าข้อความ RCS ทั้งหมดที่ส่งผ่านแอปส่งข้อความของบุคคลที่สามจะใช้บริการแชทของ Google ซึ่งเป็นการใช้งาน RCS ที่ใช้กันอย่างแพร่หลายมากที่สุดนับตั้งแต่นั้นมา ไม่มีเวอร์ชันของผู้ให้บริการ ได้ถอดออกแล้ว

เรายังไม่พบประกาศจาก Google บน Android Messages API นี้ แต่เราหวังว่าจะเห็นประกาศดังกล่าวเร็วๆ นี้ ขณะนี้แอปส่งข้อความของบุคคลที่สามเสียเปรียบเนื่องจากขาดการสนับสนุน RCS แต่ API นี้หมายความว่าคุณสามารถใช้แอปส่งข้อความที่คุณชื่นชอบและเพลิดเพลินไปกับประโยชน์ของ RCS ได้ แน่นอนว่าแอปส่งข้อความของบุคคลที่สามจะต้องใช้งาน API ใหม่จริง ๆ แต่ดูเหมือนว่าการใช้งานจะไม่ยากเกินไป

ข้อความผู้พัฒนา: กูเกิล แอลแอลซี

ราคา: ฟรี

4.2.

ดาวน์โหลด

อัปเดต 1: API พบได้ในแอปเวอร์ชัน Samsung เท่านั้น

ไม่นานหลังจากที่เราเผยแพร่บทความนี้ เราได้เรียนรู้ว่าสตริงและรายการ Manifest สำหรับ Android Messages API สามารถพบได้ใน แอป Google Messages สำหรับโทรศัพท์ Samsung Galaxy. เป็นแอปและชื่อแพ็คเกจเดียวกัน แต่ Google Play เปิดตัวแอปเวอร์ชันนี้บนโทรศัพท์ Samsung Galaxy แบบไดนามิก รายการเหล่านี้ถูกเพิ่มเข้ามาหลายเวอร์ชันแล้ว ดังนั้น API จึงไม่ดูใหม่ เราไม่แน่ใจว่าเหตุใดรายการจึงปรากฏในเวอร์ชันของแอปสำหรับโทรศัพท์ Samsung เท่านั้น แต่ก็เป็นไปได้ Google ได้สร้าง API เพื่อให้แอป Messaging ของ Samsung สามารถใช้บริการ Chat ของ Google โดยที่ผู้ใช้ไม่จำเป็นต้องเปลี่ยน แอพ อย่างไรก็ตาม เราไม่เห็นว่าเหตุใดจึงไม่สามารถเปิด API นี้ให้กับแอปอื่นได้ และเรายังไม่เห็นหลักฐานใด ๆ ในแอป Samsung Messages เองว่ากำลังใช้ API นี้อยู่ หวังว่า Google จะเปิด API ให้กับแอปส่งข้อความของบุคคลที่สามทั้งหมดโดยรวมไว้ในเวอร์ชันหลักของแอป


อัปเดต 2: API จำกัดเฉพาะแอป Samsung

เจาะลึกเข้าไปในแอป Google Messages (h/t 9to5Google) เราพบหลักฐานว่าปัจจุบัน Android Messages API นี้ถูกจำกัดการใช้งานโดยแอป Samsung บางรุ่น ดูเหมือนว่าฟีเจอร์นี้มีเป้าหมายเพื่อให้อุปกรณ์สวมใส่และแท็บเล็ตที่เชื่อมต่อของ Samsung ส่งข้อความ SMS, MMS และ RCS ผ่าน Google Messages ได้ นี่เป็นส่วนหนึ่งของฟีเจอร์ Call & Message Continuity ของ Samsung

รายการที่อนุญาตในปัจจุบันมีแพ็คเกจสำหรับ Call & Message Continuity เช่น "com.samsung.android.mdecservice" รวมถึงแอปอื่นๆ รหัสจะตรวจสอบชื่อแพ็คเกจและลายเซ็นของแอปที่ร้องขอก่อนให้สิทธิ์การเข้าถึง API การตั้งค่าสถานะอนุญาตให้แอปใดๆ เข้าถึง API ได้ แต่ค่านี้มีเจตนาอย่างชัดเจนว่าจะไม่นำไปใช้แบบสาธารณะ (แฟล็กมีชื่อเหมาะเจาะว่า "allow_any_app_to_connect_do_not_use_in_public_builds")

ขอขอบคุณซอฟต์แวร์ PNF ที่ให้ใบอนุญาตแก่เรา โปรแกรมถอดรหัส JEBซึ่งเป็นเครื่องมือวิศวกรรมย้อนกลับระดับมืออาชีพสำหรับแอปพลิเคชัน Android