App icon badges on Huawei devices are supported by Pushwoosh, but only if the badge module is present in your app. If badges never appear, check the integration first before assuming it is a device limitation.
1. Add the Pushwoosh badge module
Badge handling lives in a separate artifact that is not pulled in by the core SDK. Add it to your app's build.gradle alongside the main dependency, using the same version:
implementation "com.pushwoosh:pushwoosh:6.10.0" implementation "com.pushwoosh:pushwoosh-badge:6.10.0"
The module ships a dedicated Huawei implementation that writes the badge through the Huawei launcher content provider, and it declares the required com.huawei.android.launcher.permission.CHANGE_BADGE, READ_SETTINGS and WRITE_SETTINGS permissions, so no extra manifest work is needed. Cross-platform plugins (Flutter, React Native, Cordova, Unity) bundle the same module — see the "Setting up badges" guide for your framework.
2. Set the badge
Once the module is present, the badge is updated automatically when a push carrying a badge value is delivered. You can also drive it from code with PushwooshBadge — set an absolute value, read the current value, add a delta, or pass 0 to clear it. Changes are synchronized with the Pushwoosh backend automatically.
3. Remaining limitations
Even with the module in place, badges can still fail on some Huawei devices:
- Android has no universal badge API; each vendor and launcher implements its own mechanism. Pushwoosh targets the stock Huawei launcher (
com.huawei.android.launcher) — a third-party launcher will not show the badge. - Badge display can be disabled per app in the Huawei system settings, and behaviour differs between EMUI and HarmonyOS releases.
- Devices using Huawei Mobile Services rather than Google Mobile Services must have the Huawei push integration configured correctly for the message to arrive at all.
If badges work on other Android vendors but not on Huawei after adding the module, verify the device is on the stock launcher and that badges are enabled for your app in system settings.
Comments
0 comments
Please sign in to leave a comment.