It's important to understand: Checks have nothing to do with notifications

You can't magically put a message on the user's device. The app of the user needs to connect to the Telegram server and download the message. And it needs to know when to do this.

When the Telegram server receives a message for a user (this is when you see 1 check near your Telegram messages), it uses an (Apple or Google or whatever) mechanism to contact the device: tells the device that there's a message waiting, and also sends a text preview.

If the app is allowed to run in the background, it connects to the server and puts the message on the device (this is called 'delivered' on Whatsapp).

If the app is not allowed to run in the background, it does nothing, the message is still not on the device. But the user sees the notification on his screen and opens the app. At this moment the app connects to the server and downloads the message ('delivered' on Whatsapp).

Either way the user now has the message in his app and opens the conversation ('read' on Telegram, two checks).

In Telegram

You get one check when your message has successfully arrived at the Telegram server.

After you get that check:

  • If the user blocked you, we stop here and do nothing.
  • If the user didn't block you, we see if any of his apps accepts notifications. In most cases, they do so we notify him about your message.
  • If the user disabled notifications on his device, we wait until he opens the app. Once he opens the app, the app connects to the server and downloads the message.