RCS has taken years to gain widespread network support, and we're still suffering through carrier interoperability issues. The current landscape is nothing if not entirely overcomplicated to navigate, especially for consumers. But the subject may become a bit simpler once Android Q rolls around, as pile of new RCS-specific APIs has popped up in AOSP, presumably bound for the next Android release. These APIs may finally provide third-party apps with the ability to work with RCS on supported carriers. 

It's a complicated subject, but the short version is that up until now customers on RCS-compatible carriers have been limited to using just a few apps if they want RCS' features. Google partnered with a whole pile of OEMs, including LG, Motorola, Sony, HTC, HMD Global/Nokia and many others to use Android Messages for RCS, and Samsung's stock messaging app also supports RCS — though each of the two solutions only works on some carriers.

In the future, you may not have to limit yourself to specific apps to get RCS' features, though. Based on a pile of commits on the AOSP Gerrit, a whole new set of RCS-specific APIs are being opened up for a future Android release, almost assuredly Q. Changes cover a new CTS package to renaming and revealing a bunch of existing APIs.

If changes like these are integrated into Android, it means any messaging app willing to put in a bit of effort can support RCS — at least, if your carrier supports the right set of standards. With Messages supporting Jibe right now, presumably third-party apps will at least gain support for that. That could mean you won't have to give up all the functionality of your favorite third-party messaging app just to use RCS.

Thanks to the carriers, RCS may still be a mess for the average consumer, but Android Q and 2019 might make things a whole lot easier.

Based on a later commit spotted by 9to5Google, Android Q will not end up landing with RCS support for third-party apps.

The description attached to the commit states:

Hide RcsMessageStore APIs

This feature is punted from Android Q. This change hides the APIs.

Test: infeasible

Bug: 109759350
Change-Id: Ic278d45ab573b267a7cbf4c930496cc2044fa855

If an API required for RCS to work with third-party apps has been "punted" from Android Q, then it probably won't be included (barring any future changes, anyway). The RCS dream remains a nightmare.