How to use iMessage on Android using BlueBubbles

iMessage is a great way to send messages if you have an iPhone. That is, unless you set up a BlueBubbles Server.

Blue-Bubbles-Main-1

iMessage is one of the best messaging apps out there, but it is limited to Apple devices. However, for Android users looking to send iMessages from their non-Apple devices, there are a few options. AirMessage is a top pick, and we have a complete guide on how to set up an AirMessage Server. But alternatively, you can use BlueBubbles, which is an open-source app that is designed to minimize battery usage. Unlike AirMessage, BlueBubbles doesn’t directly connect to your phone when it isn’t in use, which is a choice made to preserve power. Here’s how it works, and how you can set it up.

What is BlueBubbles, and how does it work?

BlueBubbles is a text message client that brings iMessage to Android. Though Apple devices like the current iPhone 14 can run iMessage natively, that isn’t true for Android devices. Even though Android offers some of the best phones in 2023, they can’t send iMessage as of now, and it’s unlikely Apple would ever open up that feature. But, by using a Mac as a server, you can send and receive iMessages from your Android devices.

Essentially, to use BlueBubbles, you’ll need to have a Mac computer available that will act as a server. When you send an iMessage from your Android phone, BlueBubbles will relay that message to your Mac, which will send the contents of the message as a legitimate iMessage. When you receive an iMessage on your Mac, AirMessage will forward that message to your Android phone as well. But, unlike AirMessage, BlueBubbles does not maintain a connection to your Mac continuously. Instead, you need to connect to Google’s Firebase Server, which is a tool that will let your Android phone know when you’ve received a new message. This is how BlueBubbles manages to be more efficient than AirMessage, in some cases.

Technically, you can use BlueBubbles on a Windows computer, if you know how to set up a macOS virtual machine. However, Apple is picky when it comes to iMessage activation, so there’s no guarantee that a virtual machine will be enough to trick Apple into activating your iMessage account. As such, we recommend buying a cheap Mac instead.

What you need to get started with BlueBubbles

To use BlueBubbles, you need a Mac computer that can run as a server — meaning that it must be connected to power and the internet at all times — so you can send and receive iMessages on Android. But, it is possible to use a laptop computer as a server. However, if you plan to go that route, you’ll need to follow additional guidance.

Luckily, you don’t need the newest tech to get started with BlueBubbles. The BlueBubbles Server program can run on macOS El Capitan or later, which covers a lot of Macs. Quite literally, any Mac you have lying around from the past decade and a half can be set up as server with a bit of tinkering. But, as mentioned, you’ll need to create a Google Firebase Account to complete the setup process. After the server is set up, all you’ll need to do is download the BlueBubbles app from the Google Play Store or download the BlueBubbles app for Windows.

Screenshots throughout this guide were taken on a Mac running macOS 13, which features a redesigned System Settings menu. If you are on an earlier version of macOS, the steps in this guide will still be the same, but you will be navigating a System Preferences menu that looks a bit different from the screenshots below.

How to install AirMessage Server on your Mac

Getting iMessage on your Android phone starts with installing BlueBubbles on a Mac. You can visit BlueBubbles’ official website to find the download link yourself, or simply click the direct link from Github in the steps below.

  1. Download BlueBubbles Server. Find the version with the green Latest badge beside it. (Click this link to download)
    Bluebubbles-Latest-Github
  2. Click the .dmg file in the list.
    Bluebubbles-DMG
  3. Find the BlueBubbles Server Download in the downloads folder of Safari.
    BlueBubbles-Download-Safari
  4. Double-click the BlueBubbles Server icon to open it. You may need to give your browser permission to open the .dmg file.
    Bluebubbles-Allow-Downloads-Safari
  5. Drag the BlueBubbles Server icon to the Applications folder.
    BlueBubbles-Applications-Folder
  6. Open the BlueBubbles Server app through the Applications folder or Spotlight search.
  7. A pop-up window will open asking for Full Disk Access. Click the Open System Preferences button to continue.
    Open-System-Preferences-BlueBubbles
  8. Grant BlueBubbles access to Accessibility and Full Disk Access. Click the toggle to enable these permissions, and enter your password.
    BlueBubbles-Accessibility-Disk-Access

Creating a Google Firebase Console project

At this stage, the BlueBubbles Server is installed, but you still need to create a Google Firebase Console project for BlueBubbles. Without it, you’ll still be able to send and receive messages, but you won’t be notified on your Android device. As such, this step is crucial, even if it’s an intensive process. Luckily, it’s something you’ll only have to do once when you first set up your BlueBubbles Server.

  1. Log into Google Firebase Console. If you’re logged into other Google services in your browser, you will be logged in automatically after clicking the previous link.
    Google-Firebase
  2. Click the Create Project button.
    Firebase-Create-A-Project
  3. Name your project BlueBubblesApp and press the Create Project button again to continue. Follow any on-screen prompts that are presented.
    FireBase-BlueBubbles-App
  4. Click Continue when Google Firebase confirms your project is ready.
    Google-Firebase-Continue
  5. Select the Realtime Database tab in the left sidebar.
    Realtime-Database-Firebase
  6. Click Create Database.
    Create-Database-Firebase
  7. Click the Next and Enable buttons to continue.
    Realtime-Database-Next
    Realtime-Database-Enable
  8. Next, return to the Project Homepage and click the Project Settings button.
    Firebase-Project-Settings
  9. Click the Service Accounts tab.
    Firebase-Service-Accounts
  10. Select Create Service Account, generate a new private key and save the file locally.
    Generate-New-Private-Key
  11. Check that Cloud Messaging is enabled.
    Cloud-Messaging-Firebase
  12. Drag the private key downloaded onto the firebase-adminsdk drop zone on the BlueBubbles Server app.
    Drag-Drop-BlueBubbles-1
  13. Click the General tab and click the Android logo at the bottom of the webpage.
    Firebase-Connect-Android
  14. Enter com..bluebubbles as the package name and click Register App. Download the google-services.json file locally.
    Firebase-Package-Name-2
  15. Drag the file onto the google-services.json drop zone on the BlueBubbles Server app.
    Drag-Drop-BlueBubbles-2
  16. Create a password for your server to continue.
    BlueBubbles-Server-Password
  17. Follow the on-screen prompts to finish the setup process and connect to the BlueBubbles app for Android.

Download the BlueBubbles app for Android

After you’ve gotten your BlueBubbles server up and running, the easy part is getting BlueBubbles on your Android phone of choice. Once you download it from the Google Play Store, you can scan the QR code found on the BlueBubbles Server app to connect. Alternatively, you can download a URL manually from the BlueBubbles Server app.

Is BlueBubbles better than AirMessage?

Now that you’ve completed the setup process for BlueBubbles, you’ll probably find that it’s a pretty difficult and long process. However, it does come with distinct advantages over AirMessage, like power saving features and security benefits. Though neither are perfect solutions, BlueBubbles does successfully add iMessage support to Android devices, which is a feat that not many apps can claim.