It's important to understand: Checks have nothing to do with notifications!
You can't magically put a message on the user's device. His app 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 one 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).
You get one check when your message has successfully arrived at the Telegram server.
After you get that, check:
- If the user blocked you, Telegram stops here and does do nothing.
- If the user didn't block you, Telegram see if any of his apps accepts notifications. In most cases, they do — so Telegram notifies him about your message.
- If the user disabled notifications on his device, Telegram waits until he opens the app. Once he opens the app, the app connects to the server and dowloads your message.