I was able to get RCS working on my device. I'm going to include as much detail as I can think of here to hopefully be of some help to someone else.
Device and situation details
Carrier: AT&T
Phone: Google Pixel 9 Pro
(e)SIM(s): 1 eSIM (that puts it in the second slot for Pixels with a physical SIM slot)
Previous Phone: iPhone 14 Pro Max (logically I had iMessage enabled and RCS as of iOS 18)
Connection Type(s): 5G and Wi-Fi
Story
1st attempt
I setup the phone sans cellular service. I installed all my apps and secondary users. I attempted to use RCS under a secondary user after getting an eSIM provisioned to the phone. Under the secondary profile Messages could see the SIM details, but would never report a status.
2nd attempt
After reading the tips and instructions here in this thread, I reconfigured all the settings and permissions except for using adb
to add the extra permission to Messages. I started to do this in the Owner profile. Reading this thread lead me to believe there is something about the RCS verification process that only works in the Owner process. A status never appeared in the RCS settings, but now I would get text messages from Google frequently attempting to confirm my number. I later tried some troubleshooting with AT&T, but they just had me reset network settings and cycled my connections to the towers. At some point in the troubleshooting with them clearing the cache got a status to appear and option to Verify my number. This ended up getting stuck in this state. Eventually they got my verification requests rate limited from asking me to re-input my details to verify so many times. So I would have to try again the next day.
3rd attempt
After getting to a dead end with AT&T, I factory reset GOS. This time I went through all the same steps from before but only setup Messages in the Owner profile. I was able to get the status messages again yet ultimately stuck at the "setting up" stage. I tried more cache clearing and eventually got familiar with the logs formats to have some basic comprehension. I discovered that sometimes when Messages would say RCS was unsupported on my device that it was actually because Messages was setting up RCS in Dual-SIM mode (DSDR) and well I only had one eSIM. Clearing cache while in airplane mode would clear that out and Messages would switch to a single SIM mode RCS setup after that. I also discovered that there was a consistent error in the logs stating something along the lines of "no RCS configuration on SIM." This made me curious if this had to do with the provisioning of my eSIM from AT&T. I tried provisioning a new eSIM from AT&T's website but the error persisted.
4th attempt
After reading all these logs, I got a hunch to setup the phone and RCS all under the stock system (as I call it SpywareOS). So I did just that. I used the Android flash tool to flash the latest stable release back to the Pixel. I configured RCS with Messages and it took several hours to actually work. An annoying part was that right after I opened Messages the first time the RCS status was CONNECTED
, but I could not send an RCS message for a few hours. After this I hoped that there was now a configuration in the eSIM that would carry over when I flash GOS on the Pixel again.
5th attempt
At this time, I began to flash GOS again giving me a clean environment excluding the eSIM that would carry over. The first thing that I did, was install App Ops, Sandboxed Google Play services and Messages. That means I also signed into my Google account to download Messages from the Play Store. I added all the permissions and even added the extra permission using adb
. I configured all the permissions while the devices was in airplane mode and cleared all caches for Messages, Carrier Services and Google Play Services. I made Messages the default SMS app. I disabled airplane mode and enabled cellular services only. Then I opened up Messages. The first launch I went into setting and had to enable RCS chats in settings. After a second launch, I got the "Enabling RCS" notification from RCS and when I checked the status in Messages' settings the status was CONNECTED
. I attempted to send an RCS message, but no luck. Then after a few more hours of waiting it all worked.
Conclusion
So I'm not sure if setup in SpywareOS was a necessary step, but it was part of my steps that led to it being enabled. Also, in many of these steps I had to regularly go into my Google account and sign-out the devices from previous attempts and disable the devices allowed to perform automatic number verification (https://account.googel.com/phone).
For a TL,DR:
- Possibly setup RCS in stock prior to GOS
- start with a fresh install of GOS
- install Google Play Services, Google Messages and Carrier Services
- set permissions on Google Play Services: Allowed (Contacts, Network, Notifications, Phone, Sensors, SMS) Not allowed (everything else) App batter usage (Unrestricted)
- sign into Google account and enable automatic phone verification
- enable airplane mode
- set permissions on Messages: Allowed (Call logs, Camera, Contacts, Microphone, Network, Notifications, Phone, Sensors, SMS) Storage scopes (Music and audio, Photos and videos) Not allowed (Location)
- enable Developer mode, enable USB debugging and set
READ_DEVICE_IDENTIFIERS
to allow
then disable developer mode and USB debugging
- set permissions on Carrier Services: Allowed (Call logs, Network, Phone, Sensors) Storage scopes (Contacts) Not allowed (Camera, Location, Microphone) App batter usage (Unrestricted)
- clear cache on Messages and Google Play Services
- disable airplane mode
- ensure cellular services is enabled and Wi-Fi is disabled
- open Messages and ensure RCS chats are enabled
- wait a few hours