Most of the things you can do on the iPhone, you can do with an Android phone. One big exception is iMessage. Can you be a blue bubble with an Android phone? How about a Windows computer? To be able.
How is that possible? Because Apple refuses to give up control of iPhone users’ phone numbers, people have been trying to make iMessage run on Android for a long time. The big break came when Apple brought iMessage to the Mac. Herein lies the key to working.
Before we hope too much, you should know that there are some pretty big tricks. First, and most importantly, you will need a device with macOS or macOS virtual machine– Although it is highly recommended that you do this with actual Apple hardware.
This device will need to be on Mac OS X El Capitan (released in 2015) or later, but you’ll want to take a minute to decide which version will best suit your needs. Some iMessage features are not supported by the software we will use with some versions of macOS (more on that later).
We will use an open source tool called Blue Bubbles. AirMessage is another popular solution, but we believe that BlueBubbles has several advantages. It is self-hosted, so you don’t rely on other people’s servers. BlueBubbles is community-run and has desktop applications for Windows and Linux, a web application, and a variety of customization features.
As mentioned, some BlueBubbles features are not available in all versions of macOS. See the table below to see which version best suits your needs.
|Features of BlueBubbles||El Capitan – Catalina||Big Sur||Monterey|
|Sending / Receiving messages||✓||✓||✓|
|Send attachments||✓||✓||✓ **|
|Receive feedback, stickers and mentions||✓||✓||✓|
|Receipt of delivered / read receipts||✓||✓||✓|
|Creating a DM||✓||✓||✓|
|Create group chats||✓|
- ✓ ** – Sending attachments to Monterey may not be as reliable as previous versions of macOS, as it relies on UI Automation (simulation of keystrokes) rather than actual code.
- † – Replies will be displayed as a normal message on macOS 10.x devices, instead of being displayed with the reply user interface.
This is the state of BlueBubles as of June 2022. Check the FAQ page for updated information on macOS versions.
Of course, you will also need an Apple ID to use iMessage. Besides, we’re ready. In short, you need a Mac running a compatible version of macOS, the Messages app you logged in with your Apple ID, and the BlueBubbles server. So let’s get started.
Configure the BlueBubbles server
The most important part of the puzzle is the BlueBubbles server. The server runs on your macOS device and acts as a “hub” for iMessages to be sent to the BlueBubbles applications on your Android phone and a Windows or Linux computer.
Head to GitHub page on your macOS device and download the latest DMG file to the BlueBubbles server.
Then open the DMG file and drag it to the “Applications” folder after it is installed. You can now open the application.
You will first be asked to give BlueBubbles “full disk access”. This is necessary for BlueBubbles to read from the iMessage chat database. Click Open System Preferences.
Go to the “Security and Privacy” section of the settings and select “Full Disk Access” in the sidebar.
Click the lock icon in the bottom corner to enter your Mac password, and then activate BlueBubles. You will be asked to restart BlueBubles.
Before leaving the Security and Privacy settings, go to the Accessibility section and enable BlueBubbles.
At some point during this initial setup, you will be asked to give BlueBubbles access to your contacts. Click “OK” to enable this.
Here things get a little complicated. BlueBubbles uses Google Firebase Cloud Messaging to notify your devices. This allows BlueBubbles not to require a connection to the server at all times, which means you get notifications even when the app is running in the background and doesn’t use as much battery.
To get started, go to Google Firebase Console and sign in with your Google Account. Click “Create Project” and name it “BlueBubblesApp”. You do not need to enable Google Analytics for the project.
Then under “Build” in the sidebar menu, go to Real-Time Database> Create Database.
Select your location, then click Next> Activate with Locked Startup selected.
Then click the gear icon next to “View project” in the sidebar menu and go to Project settings> Service accounts> Create service account> click “Generate new private key” and save the file to your Mac .
Now switch to the Cloud Messaging tab and click the three-point menu icon for the Legacy Cloud Messaging API and go to Cloud API Management> Activation.
Drag and drop the JSON file we downloaded, which includes “firebase-adminsdk” in the file name in the BlueBubbles application.
Return to the Project Settings menu on the Firebase website, go to the General tab. Click the Android icon at the bottom of the page.
Enter “com.[yourname].bluebubbles for “Android Package Name” and click “Register Application” to download the google-services.json file.
We can now drag the google-services.json file into the BlueBubbles application. Click “Next” after you do this.
Enter a strong password for your server and click the save icon. Click the “Next” button when you’re done.
The next screen is for “Setting up a private API”. This is one of the most advanced features of BlueBubbles. If you want to be able to send reactions, answers, topics, see input indicators and effects, you will need to follow the instructions on this page. Note that this requires disabling some additional security measures on your Mac.
The last thing you need to do is enable MacOS boot and keep macOS awake to ensure that the BlueBubbles server continues to run. You can also have BlueBubbles automatically check for and install updates.
Connect the server to the BlueBubbles applications
With a running and running server, we can connect Android and Windows BlueBubbles apps to start using iMessage! We’ll start with the Android app that can be downloaded here.
You’ll need to give the app some permissions when you first open it and make sure you’re signed in with your Apple ID with iMessage on your Mac.
Then back to the BlueBubbles app on your Mac, click the QR code icon, and then scan it with the phone app.
Tap “Start Sync” in the phone app after scanning the QR code.
When syncing is complete, tap End.
You are already using iMessage on Android! You can find many customization options under the three-point menu on the conversion screen. If you have enabled private API features, you will want to enable them.
The Windows application can be found at BlueBubbles download page also.
Setting up the desktop app is the same as the Android app, but you probably won’t be able to scan the QR code with your computer. Instead, you will need to enter the server data manually. You can find them in the Android app under Settings> Connection and Server (same password we created earlier).
Now you have the same BlueBubbles experience as your phone on your Windows computer! Note that there are also a BlueBubbles web application which can be set up in the same way.
Things you need to know
One important thing to understand is that this essentially makes iMessage a separate instant messaging service. All your iMessage calls will be in the BlueBubbles app, while standard SMS / RCS calls will still be on your device default text messaging application.
The second thing you need to know is that this is essentially a hacking solution to make something work that was never designed to work that way. Therefore, you will face problems. The good news is that the BlueBubbles community is very active and useful Reddit and Discord. IN official BlueBubbles website is also a good resource for up-to-date information.
BlueBubbles is not an ideal solution and it certainly takes some effort to set up. However, it is so or solution and you only have to go through this process once. This is pretty amazing once you make everything work.