Google's efforts to bring RCS to the world haven't been as inspiring as many of us had hoped, largely due to slow adoption by carriers and some self-serving behavior on the part of certain OEMs (cough). However, some of this can also be attributed to limits in Android itself. To use RCS today, you have no choice in app selection — you're stuck using apps provided by your phone's OEM, be it Google, Samsung, LG, or another partner. Earlier this year, it looked like Google had added code to Android Q that would enable third party apps to support RCS, but that was disputed shortly after. While we won't see apps rolling out for Android's next major release, a new code drop to AOSP appears to put an official API in place.

As spotted by user LinkofHyrule on reddit, a new commit to AOSP adds an API that appears to enable user-level RCS implementations. In other words, it's the API that third-party developers will use when registering their apps to handle RCS communications. The newly added code includes support for social presence information (e.g. contact avatars, availability, activity, etc) and the ability to communicate availability of other capabilities. To be clear, this surely won't be the last code added or changed in relation to RCS, but it is the interface that's necessary for third-party apps to actually become targets for RCS messages. (Note, devs will still be writing their apps using an interface in the SDK, but still calling these methods indirectly).

Nothing in the commit indicates when this API will be made an official part of an Android release. If it's slated for release in the next major release of Android (i.e. R, or version 11), we won't see it become official until early next year. However, Google has been known to make point releases in the past to add support for important capabilities, like the addition of multi-SIM support in 5.1 Lollipop, or feature additions in 7.1 and 8.1 linked to the release of new Pixel phones. It's possible a 10.1 update could come out between the formal Android Q release and the beginning of the Android R betas — although, OEMs have historically been lax about updating their phones to these interim versions.

Of course, even with a standard API for third party RCS support surely becoming a CTS requirement, it's hard to be sure that OEMs won't attempt to keep users locked into first party messaging apps. Some have made significant investments to have their own form of lock-in and they may not be eager give away the user-facing part of that experience to developers.