A React Native library for handling VoIP push notifications on iOS, enabling incoming call alerts and integration with CallKit.
React Native VoIP Push Notification is a library that enables React Native iOS apps to handle VoIP push notifications for incoming calls. It integrates with Apple's PushKit framework to deliver real-time call alerts and ensures compliance with iOS 13+ requirements for CallKit integration. The library provides both native and JavaScript APIs to manage token registration, notification events, and early event handling before the React Native bridge initializes.
React Native developers building VoIP or real-time communication apps for iOS, such as messaging, calling, or video chat applications that require incoming call notifications.
Developers choose this library because it offers a specialized, compliant solution for VoIP push notifications in React Native, with built-in support for CallKit integration and handling of time-sensitive notifications before the JavaScript bridge is ready.
React Native VoIP Push Notification - Currently iOS only
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Directly leverages Apple's PushKit framework for VoIP pushes, ensuring real-time call alerts and compliance with iOS guidelines, as specified in the key features.
Built to integrate seamlessly with CallKit, which is mandatory for iOS 13+ to avoid app termination, as emphasized in the README's IMPORTANT NOTE.
Provides native APIs like `voipRegistration` to process notifications before the React Native bridge initializes, critical for time-sensitive VoIP calls.
Includes the `didLoadWithEvents` event to handle notifications that fire before JS bridge is ready, preventing missed calls during app startup.
Only supports iOS, leaving Android VoIP push handling unsupported, which forces cross-platform projects to seek separate solutions.
Requires extensive native iOS configuration, including AppDelegate modifications and CallKit integration, adding significant development overhead.
Failure to report calls to CallKit promptly can lead to app termination and blocked VoIP pushes, as warned in Apple's guidelines cited in the README.
Forces backend changes for APN, such as setting correct apns-push-type and expiration values, increasing server-side complexity.