Most of the things you can do on an iPhone you can do on an Android phone. One big exception is iMessage. Can you be a blue bubble with an Android phone? What about a Windows PC? If you can.
How is that possible? Since Apple refuses to give up its control over iPhone users’ phone numbers, people have been trying to get iMessage to work on Android for a long time. The big breakthrough came when Apple brought iMessage to the Mac. Therein lies the key to making it work.
Before we get our hopes up too much, you should know that there are some pretty big catches. First and foremost, you’ll need a macOS device or macOS virtual machine, though doing so with real Apple hardware is highly recommended.
That device will need to be on Mac OS X El Capitan (released 2015) or newer, but you’ll want to take a minute to decide which version best suits your needs. Certain iMessage features aren’t supported by the software we’ll be using with some versions of macOS (more on that later).
We will use an open source tool called BlueBubbles. AirMessage is another popular solution, but we think BlueBubbles has some advantages. It is self-hosted, so you are not dependent on servers managed by other people. BlueBubbles is community-driven and has desktop apps for Windows and Linux, a web app, and tons of customization features.
As mentioned, certain BlueBubbles features are not available in all versions of macOS. Check the table below to see which version best suits your needs.
|Characteristics of blue bubbles||The Captain – Catherine||Big South||Monterey|
|Sending / receiving messages||✓||✓||✓|
|Sending attachments||✓||✓||✓ **|
|Receive tapbacks, stickers and mentions||✓||✓||✓|
|Receipt of delivered/read receipts||✓||✓||✓|
|Create direct messages||✓||✓||✓|
|Create group chats||✓|
- ✓ ** – Monterey attachment sending may not be as reliable as previous versions of macOS, as it relies on UI automation (keystroke simulation) rather than actual code.
- † – Replies will display as a normal message on macOS 10.x devices, instead of displaying with the Replies UI.
This is the status of BlueBubbles as of June 2022. Check the FAQ page for up-to-date information on macOS releases.
Of course, you’ll also need an Apple ID to use iMessage. Other than that, we’re good to go. In short, you need a Mac with a compatible version of macOS, the Messages app launched with your Apple ID, and the BlueBubbles server. Then 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 kind of “hub” for iMessages to be sent to the BlueBubbles apps on your Android phone and Windows or Linux PC.
First, head over to the GitHub page on your macOS device and download the latest DMG file from the BlueBubbles server.
Next, open the DMG file and drag it to the “Applications” folder after it is installed. Now you can open the app.
You will first be prompted to give BlueBubbles “Full Disc Access”. This is necessary for BlueBubbles to read from the iMessage chat database. Click “Open System Preferences.”
Go to the “Security & Privacy” section of Settings and select “Full Disk Access” in the sidebar.
Click the lock icon in the bottom corner to enter your Mac password, and then enable BlueBubbles. You will be prompted to restart BlueBubbles.
Before leaving the “Security and privacy” settings, go to the “Accessibility” section and activate BlueBubbles as well.
At some point during this initial setup, you will also be asked to grant BlueBubbles access to your contacts. Click “OK” to allow that.
This is where things get a bit complicated. BlueBubbles uses Google Firebase Cloud Messaging to push notifications to your devices. This allows BlueBubbles not to require a server connection at all times, which means you get notifications even when the app is running in the background and it doesn’t use as much battery power.
To get started, go to the Google Firebase Console and sign in with your Google account. Click “Create a project” and name it “BlueBubblesApp”. You do not need to enable Google Analytics for the project.
Next, under “Create” in the sidebar menu, go to Realtime Database > Create Database.
Choose your location and then click Next > Enable with “Start in locked mode” selected.
Next, click the gear icon next to “Project Summary” 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-dot menu icon for “Cloud Messaging Legacy API” and go to Manage APIs in Cloud Console > Enable.
Drag and drop the JSON file we downloaded that includes “firebase-adminsdk” in the file name to the BlueBubbles app.
Back in the Project Settings menu on the Firebase website, go to the “General” tab. Click on the Android icon at the bottom of the page.
Enter “com.[yourname].bluebubbles for “Android Package Name” and click “Register App” to download the google-services.json file.
Now we can also drag the google-services.json file into the BlueBubbles app. Click “Next” after you have done that.
Enter a strong password for your server and click the save icon. Click the “Next” button when you are done.
The next screen is for “Private API Settings”. This is one of the most advanced features of BlueBubbles. If you want to be able to send reactions, replies, subjects, see typing prompts, and effects, you’ll need to follow the instructions on this page. Please note that this requires disabling some additional security measures on your Mac.
The last thing you need to do is enable “Launch with macOS” and “Keep macOS awake” to make sure the BlueBubbles server keeps running. You can also have BlueBubbles check for and install updates automatically.
Connect the server to BlueBubbles applications
With the server up and running, we can connect the Android and Windows BlueBubbles apps to start using iMessage! We’ll start with the Android app, which can be downloaded from 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.
Next, go back to the BlueBubbles app on your Mac, click the QR code icon, and then scan it with the phone app.
Tap “Start Sync” on the phone app after scanning the QR code.
After the synchronization is complete, tap “Finish”.
You are now using iMessage on Android! You can find many customization options in the three-dot menu on the conversations screen. If you’ve enabled the Private API features, you’ll want to turn them on.
The Windows app can also be found on the BlueBubbles download page.
The settings for the desktop app are the same as the Android app, but you probably won’t be able to scan a QR code with your PC. Instead, you will need to enter the server details manually. You can find them in the Android app under Settings > Connection & server (same password we created earlier).
Now you have the same BlueBubbles experience as your phone on your Windows PC! Note that there is also a BlueBubbles web app that can be configured in the same way.
things to know
One important thing to understand is that this essentially turns iMessage into a separate instant messaging service. All your iMessage conversations will be in the BlueBubbles app, while standard SMS/RCS conversations will still be in your device’s default texting app.
The second thing to know is that this is an inherently complicated solution to get something to work that was never intended to work this way. Therefore, you Will encounter problems. The good news is that the BlueBubbles community is very active and helpful on Reddit and Discord. The official BlueBubbles website is also a good resource for up-to-date information.
BlueBubbles is not a perfect solution and it certainly takes a bit of effort to set up. however it is a solution and you should only have to go through this process once. It’s pretty amazing once you get everything working.
RELATED: How to Set Your Default Texting App on Android