• Off Topic
  • Using RCS with Google Messages on GrapheneOS

[unknown] Yeah, it was stuck on verifying, so I uninstalled it and did the old method of installing the outdated beta version, manually setting my ACS url, then updating to the latest app version, and that made it connect immediately. In the past, when I enabled RCS with that method, it disconnected after 3 days, but I'm hoping that the added change of enabling Sandboxed Google Play > Confirm number with Google (which I am just going to leave toggled ON, just to be safe) will be what is required to make it stable. I am on Verizon, and I suspect it is Verizon's implementation of RCS that is less stable than other carriers'.

I'll report back in 4 days about whether it worked or not.

    None of these methods seem to work for me. I re flashed the factory Google image back on my phone and it worked almost instantly, logged into Google, and logged into RCS was connected in Google Messages just to test. Then I re flashed factory GOS back onto phone, because I actually want to run GOS.

    From fresh factory reset:

    1. Install "Google Play services" from Apps
    2. Sign in to Google Play to get Google messages installed
    3. Permissions (these are the defaults):
      • Google Services Framework (com.google.android.gsf): Network, Sensors
      • Google Play services (com.google.android.gms): Network, Sensors
      • Google Messages (com.google.android.apps.messaging): Camera, Contacts, Microphone, Music and audio, Network Phone, Photos and videos, Sensors SMS
    4. Do the Sandbox verification: Settings → Apps → Sandboxed Google Play → Google Settings → All Services → Mobile data & messaging → Phone Number Verification.
    5. A progress bar appears then the "Phone Number Verification" screen appears with a toggle "Automatically verify phone number(s). Switch on, press ←.
    6. Open Google Messages → Message Settings → RCS Chats → Turn on RCS chats
    7. I just then see Setting Up... "Verify your number", which comes up with a option to enter my number, when pressing that and input number "Verify your number" goes grey and it still says "Setting up..."

    Am I missing something?

    RCS used to work fine for the longest time. i've tried every suggestion i have seen on here, and it still wont work.

      hemlockiv Update: Like the last time I activated RCS using the beta+ACS hack, it disconnected after 3 days. This is even after granting all the permissions and allowing Sandboxed Google Play to confirm my phone number with google, which I was reeeaally hoping would make a difference. Oh well. I really suspect it's Verizon's fault

        Gangsturd only other variable in your setup would be to turn of exploit protection on all of them and try that.

        I tried a couple more things. I'm doing this in the owner profile.

        1. Removed my Google accounts and cleared app data of the following
          • Google Services Framework (com.google.android.gsf)
          • Google Play services (com.google.android.gms)
          • Google Messages (com.google.android.apps.messaging)
          • Carrier Services (com.google.android.ims)
        2. Disabled "Exploit protection compatibility mode" under each of the above.
        3. Not using WiFi, using direct data with carrier - though this made no difference when I tried it in standard factory OS.
        4. Reboot phone.

        Gangsturd That or grant all permissions to all gps,gsf,mes temporarly to see if that makes it happy.

        Doesn't even seem to request any permissions besides those are standard so it didn't make any difference.

        Gangsturd how google account cant be made with vpns or voice over ip numbers i think google help validate the rcs request knowing that.

        I'm not even using VPN. When I was connected to my WiFi network that routes over VPN it worked anyway with standard factory Google OS.

        Theawfulone RCS used to work fine for the longest time. i've tried every suggestion i have seen on here, and it still wont work.

        Yup, used to work for me then decided one day not to. It stopped working on my Pixel 7 Pro and my friend's at the same time. My other friend who has a Pixel 5 (it stopped working on his too).

        hemlockiv RCS using the beta+ACS hack,

        Can you provide detailed instructions like above. I'll see if that even works here.

          Removed multiple posts from a known troll, along with some posts replying to them. We apologize for not catching that sooner.

          SillySaurus Can you provide detailed instructions like above. I'll see if that even works here.

          See comment #184 above. But like I said I haven't gotten this method to work past the 4 day mark.

          By the way, something curious happened yesterday. I opened Messages and I got the RCS welcome flow,. e.g. "There's a better way to chat... More secure etc etc" or whatever exactly it says. I tapped through it excitedly, hoping that RCS had somehow activated again, but when I went to Messages Settings > RCS chats, it now just says, "RCS chats aren't available for this device." Going to Debug > RCS > Report RCS connection state, the first line says, "RCS is disabled for this carrier by Google." wtf??

          11 days later

          @Audi123 Could you check something real quick? I'm curious if there are some hidden permissions that might be affecting this. Could you please open an adb shell and run:
          for i in com.google.android.gms com.android.vending com.google.android.dialer com.google.android.apps.messaging; do echo '--------'; echo $i; appops get $i READ_DEVICE_IDENTIFIERS; done
          and paste your output in a comment here? (all this does is query the state of some google app permissions; it doesn't set or change anything on your device)

          9 days later
          • Edited

          I'm pretty sure RCS on Grapheneos is impossible at this point. "Google has begun implementing Play Integrity API attestation checks (popularly known as “SafetyNet checks,” inspired by the predecessor SafetyNet API) on the Google Messages app." Google spokesperson admitted they're doing this to "fight spammers."

          https://www.androidauthority.com/p-3421652/

          This is the same attestation that prevents things like Google Pay and some banking apps from working on grapheneos, right? If that's the case, RCS on grapheneos is dead in the water since grapheneos developers have said repeatedly that they won't play the cat and mouse game to get apps to work with this as it will take too much time and potentially erode security.

          Articles are also pointing out that unlike Google Pay/Wallet that notifies you that it won't work on custom Roms, Google Messages doesn't notify you but silently breaks RCS functionality, even if the app settings say RCS is enabled.

            The last sentence of that article:

            In the interim, you can use other messaging apps that support RCS.

            Ok, but CAN you though? What other messaging apps?

            ...also, if Messages is starting to do hardware attestation, why not simply install a slightly older of the app that doesn't have that API functionality?

            Sbpr That's a good point. Even on something as simple as LineageOS I had to root the device and use Magisk to get RCS to work. So I had to make the phone much less secure in order to use their secure messaging app!

            Upon the news that Google is purposely blocking custom roms from using RCS, should GrapheneOS officially list RCS as one of the Android features that won't work on it similar to Google Pay?

            8 days later

            Must be changes to the requirements as mentioned earlier.

            https://pc-tablet.com/google-messages-rcs-fails-on-rooted-custom-rom-android-phones-an-in-depth-analysis/

            Was working fine on my Pixel 7a with Graphene. I changed carriers and had to re-register RCS and now it fails to work. Didn't need to do anything special before, it just worked. Tried everything mentioned in this thread, along with trying older versions of Google Messages, no go.

            I guess another push to convince people to just go to Signal.

              tarv Thanks for posting that link.
              I check into this thread occasionally, but I have given up. I only used RCS for a short time, so I'm not missing anything. I wouldn't consider it private by any means, so for me it was just the ability to send a larger picture, or have read receipts... No big deal.
              Signal FTW

              6 days later

              So, for anyone that pass here : i think i found something and, maybe, a way to fix this ?

              So i just stumble to this reddit post : https://www.reddit.com/r/GrapheneOS/comments/1ci0u7a/comment/l2g6905/

              And, yeah, i think this post have something. So i try the solution : i have already shizuku installed, and i install App Ops on Play Store (here) but it seems the google messages app already have the "Read device identifiers" authorized.

              But not Google Services

              So i give "Read device identifiers" with App Ops on the Google Services app, kill google messages app, redo the rcs activation (with toogle of google number validation that people talk) and : hurray : now rcs just show "connected" and just seem to work now !

              So, will see if it's stay like that. It also worth trying to maybe revoke the authorization of play services to device identifiers after to see if it's work ?

              Also, like the post say : this could potentially lead to grapheneos not to be secure and break the isolated google stuff ? Dunno, for me i don't see any bugs or weird behavior for the moment.

              So, i hope it help some peoples, maybe some can try if it's work for them too ?

                tripop
                Damn it worked. Finally. Thanks mate. Creating an account just for this. Can I now :

                1. disallow the read device identifiers permission to Play services
                2. Disable wireless debugging
                3. Uninstall Shizuku
                4. Uninstall apps ops
                  Thanks

                For people that got this to work (for however long that may be), what's your profile setup? Given how many permissions you need to hand over, it probably makes sense to keep this in its own dedicated profile with other intrusive Google apps.

                Do you share SMS with other profiles? If I install another SMS client on another profile, will it mess up RCS in the google profile? Will my RCS messages appear in the other SMS apps?

                11 days later

                My RCS was working just fine for a long time on Google Messages Beta with Carrier Services Beta installed. Until today, when i had constant pop ups that my messages may not have been received because the other person appears offline. Trying to rectify this situation, assuming it was a bug in a beta update, I uninstalled the beta and installed the most recent stable version from the play store. Now it doesn't give me the RCS toggle option and instead says that RCS is not available for my device. I think they've killed it with the Play attestation as mentioned above. Bummer.

                • Sbpr replied to this.

                  eatinggrumble84 its still working for me. If you're using Google Messages while logged in, try doing this first:

                  Confirm all Sandboxed Google Framework and Google Play Services are installed on that profile. Make sure play services has access to at least Network, SMS, Notifications.

                  Install the actual Google app from the Play Store if not installed already. Give it access to at least Network , SMS, Notifications.

                  For Google Messages, give it at least Network, SMS. notifications. I also gave it access to contacts and phone, but it may not be necessary. You may need to reinstall the app if it's not letting you try to verify.

                  I do not have Google's carrier services app installed.

                  After doing everything above, close google messages (to be on the safe side). Open the Settings app on your phone. Go to:
                  -> Apps
                  -> Sandboxed Google Play
                  -> Google Settings
                  -> All Services tab (for the google account you're using with Messages)
                  -> Mobile data & messaging
                  -> Phone Number Verification
                  Toggle Automatically Verify Phone Number (s) to on.

                  Afterwards, re-open Google Messages and go to the RCS section of settings. It may already say connected or try to verify again and see if it connects this time.

                  Hope this helps!

                    Sbpr

                    I appreciate the help. I believe my issue was related to outdated Google Play Services. A couple apps had difficulty showing maps, indefinitely stuck on a screen showing "Google Play Services Updating...". After updating GrapheneOS today to 2024060500, my RCS enabled itself immediately and I've had no further issues.