Skip to main content
Huawei devices without Google Mobile Services can’t receive FCM. RingKit is push-transport-agnostic, so HMS Push plugs into the same native entry point as raw FCM or OneSignal: you deliver the wake message with HMS Push and hand its data to RingKitIncomingCall.present(...). No RingKit changes are needed — and RingKit deliberately does not bundle the Huawei SDK, so your GMS builds stay clean.
1

Add HMS to your app (not the plugin)

Project build.gradle:
App build.gradle:
Put your agconnect-services.json (from AppGallery Connect) in the app module.
2

Add a messaging service that hands calls to RingKit

For a cancel push (type == cancelType), branch on RingKitPayload.isCancel(data, config) and call RingKitIncomingCall.dismiss(applicationContext, callId) instead of present(...) — see Remote cancel.
3

Register the service in your app manifest

4

Send the wake message

Send an HMS Push data message (through AppGallery Connect or the HMS Push REST API) carrying the same call fields as FCM — callId, handle, hasVideo, chatId, or your own names remapped with payloadKeys. Everything downstream — Telecom, the full-screen fallback, the silent-failure watchdog, answer routing — is identical to the GMS path.
The full-screen fallback matters even more here: some Huawei ROMs are strict about self-managed Telecom, so keep androidFullScreenFallback: true (the default) or force it with androidForceFullScreen: true. See Android reliability.