dist/esm/definitions.d.ts in the package) and the
API reference.
From @capgo/capacitor-callkit-voip or a community fork
These plugins registered for VoIP and reported the call from native on push — the concepts map
directly:
1
Swap the package
Remove the old plugin, then install RingKit from the private repository your license gives
you access to (Capacitor 8):
2
Add the static config
Add the
plugins.RingKit block to capacitor.config — see
Configuration.3
iOS
Keep your Push Notifications + Background Modes → Voice over IP capabilities;
RingKit registers its own
PKPushRegistry. Point your VoIP push at the token from the
registration event (iOS setup).4
Android
Choose your push route — RingKit’s opt-in FCM service, or
RingKitIncomingCall.present(...) from your existing handler
(Android setup).5
Replace your listeners
Attach them before
register(), so the iOS token and an Android cold-start answer
aren’t missed.6
Verify
Use the ready-made test-push senders — see Testing.
From @capgo/capacitor-incoming-call-kit
That plugin gives you the call screen; you already wired push yourself. To gain the full cycle,
replace showIncomingCall(...) with RingKit’s register() + reportIncomingCall(...) (or the
native present(...) on Android for the killed-app path), and move your PushKit / FCM token
handling onto RingKit’s registration event so the wake-from-killed path is owned end to end.
Payload shape
If your backend already sends OneSignal-shaped pushes, setpayloadPreset: "onesignal".
Otherwise send the call fields directly (callId, handle, hasVideo, chatId) or remap your
own names with payloadKeys — see Payload mapping. No
backend change is required beyond matching one of those shapes.