How to use iMessage on Android in 2020 For Free

Kevin Jonathan Harnanta
4 min readMay 8, 2020

--

iMessage is the most chat messenger used for people who have apple product, such an iPhone, iMac, Macbook, etc. In this entire world, not a few people who only have a Macbook/iMac/Mac mini, because they use it for productivity purposes. When they don’t bring their Apple device and only carry their android they can’t reply to messages that are on iMessage on their mac.

There are two solution we offer in this article:

  1. Buy iPhone ! ! !
  2. Use third party application to relay our message from another device to iMessage application

First solution is the best solution, because by buying iPhone iMessage can be used immediately, there is no configuration needed to use iMessage. The second one is what we discussed in this article.

Requirement

  • Mac OS X 10.10 or higher
  • A smartphone / tablet running Android 6.0 Marshmallow or higher

Arcitechture

From the diagram above we could see, Relay server is installed in Mac OS device. Relay server will read message from local disk and send the chat to your android device through the internet. Android device with client application will send message through relay server, and then relay server will push it to iMessage application. That’s the idea. With this architecture, we don’t need to be on the same network

Installation

In this article we will use AirMessage to relay the message from our android device

Disclaimer, I am not endorsed in writing this article all based on my experience

Download the client and server apps in this link. After the installation open the AirMessage server in Mac OS device, and set the password, custom the port.

After that, you need to get your mac local ip address to register the port-forwarding rule in your router and internet. You can use ifconfig command in terminal to see your ip.

ifconfig command result
Example of port forwarding configuration

Each router has a different configuration, the picture above is a picture that I included to give an example for you to make a port forwarding configuration. After you create the port configuration rule, test the server using telnet, and make sure it’s connected.

$ telnet <your public ip> <your specified AirMessage Port>

My Internet Service Provider doesn’t provide static public ip address, it will always change once a day. So we need to using Dynamic Domain Name Server(DDNS).

Dynamic DNS is a method of automatically updating a name server in the Domain Name Server, often in real time, with the active DDNS configuration of its configured hostnames, addresses or other information.

With the DDNS, we don’t need to remember the public ip that change once a day. All we need to do is just remember our hostname. You can create it free from here.

The hostname pattern will look something like this if you register from link i give:

example: johndoe.ddns.net

After that we can point the public ip from your internet provider using the tools that we get from here. All we need to do now just run the application and it will appear in system tray like this

The application will update to DDNS server about your public ip. Now using android device, set the server address to your hostname and don’t forget to fill the password to connect. Voilla, Now you can use iMessage from any android device.

AirMessage client on Android Device running with mobile network
iMessage on Mac OS

That’s it thank you for reading my article. Hope you enjoy this, and implement it. Stay-healthy, stay at home.

--

--