Over the past few weeks, I have been working to implement real remote push notifications in ArkGram — notifications that arrive even when the app is closed or suspended, without relying on local notifications or keeping the app running in the background.
Telegram does not provide direct integration with Huawei Push Kit. Therefore, we had to build an intermediary infrastructure:
• ArkGram registers a Web Push subscription with TDLib. • Telegram’s servers send encrypted events to our relay hosted on Hetzner. • The relay processes each event and forwards a remote notification through Huawei Push Kit. • When the notification is tapped, ArkGram opens the corresponding conversation and message directly.
This architecture is working. Messages are synchronized in real time with Telegram’s servers, and notifications arrive even when ArkGram is closed. However, we encountered several barriers imposed by the HarmonyOS ecosystem:
🧪 Debug profile limitation
During development, the HAP must be signed with a debug profile issued by AppGallery Connect. This profile contains a list of authorized devices identified by their respective UDIDs.
Therefore, push notifications currently work only on the registered test device. It is not possible to distribute the same debug build to any device while preserving the identity required by Huawei Push Kit.
📦 Hokit limitation
Hokit does not directly install ArkGram’s HAP when it is signed with the release profile. Its automatic signing option can install it, but replaces the certificate and profile during installation.
As a result, the app receives a different identity (runtimeAppIdentifier), and Huawei Push Kit refuses to issue a token. In practice:
• The debug profile works, but only on devices whose UDIDs are registered. • The release profile supports any device, but must be distributed through the official channel. • Hokit’s automatic re-signing allows the app to be installed, but breaks push notifications.
🔕 Silent notifications
Although remote notifications are working, Huawei currently classifies them as marketing/informational messages. Because of this, they may arrive silently, without sound, vibration, a banner, or a status bar icon — even when all these options are enabled in the system settings.
Instant messaging applications need to receive the appropriate classification/authorization from Huawei so that their messages are treated as important chat notifications. This approval is tied to Huawei’s official review and publication process.
📊 Other development limitations
During the testing phase, Huawei also limits each project to approximately 1,000 push messages per day. Once this limit is reached, notifications stop arriving and resume only after the quota is renewed.
🚧 Where the barrier lies
For external HAP installations, we have reached the maximum allowed by Huawei’s environment. There is no change to ArkGram or the server that can safely bypass the cryptographic identity requirements, the UDID requirement of debug profiles, or Huawei’s notification classification.
The definitive solution is to publish ArkGram on the Huawei AppGallery. Official distribution allows the release profile to be used without re-signing, preserves the identity recognized by Push Kit, and makes real push notifications available to all users.
Then, the app will continue without notifications. Local notifications are bad, not worth it.
• Real remote push notifications, without local notifications. • Notifications when the app is closed or running in the background. • Real message content and conversation identification. • Direct navigation to the correct conversation and message. • Telegram → Hetzner relay → Huawei Push Kit → ArkGram communication. • Correctly configured identity, certificates, and profiles.
THE PROBLEM: Huawei's limitations, explained below 👇🏻👇🏻👇🏻
Version 2.0 was a big update and brought some bugs to the app, already working on fixes and a new update will arrive very soon
1. Select and copy any text 2. Full support for BOTs 3. Drafts synchronized between devices and "Saved Messages" 4. Link: Open or copy 5. Member tag: owner, admin and custom tag
How can I read @arkgram_hmos without a Telegram account?
TGViewer shows the public web preview Telegram publishes for ArkGram: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does ArkGram have?
ArkGram (@arkgram_hmos) has 1.21K subscribers on Telegram, refreshed roughly every 30 minutes.
Does ArkGram know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.