Quick Reference for AI Agents & Developers
- Requires: CometChat SDK and UI Kit both configured
- Implementation: Handle notification tap in
AppDelegateorSceneDelegate - Parse payload: Extract call session ID from notification payload
- Launch: Present
CometChatIncomingCallview controller - Related: Ringing · Push Notifications · UI Kit

Step 1. Process push notification payload and grab Call object
To present an incoming call screen, firstly you will need a Call object. You can grab this from the push notification payload itself of incoming call notification. You need to call CometChat.processMessage() method to process push notification payload.
- Swift
Sample Payload - Push Notification userInfo (Call)
Sample Payload - Push Notification userInfo (Call)
userInfo Dictionary Structure:
message Dictionary:
sender Dictionary:
aps Dictionary:
alert Dictionary:
Sample Payload - CometChat.processMessage() Output (Call Object)
Sample Payload - CometChat.processMessage() Output (Call Object)
Method Signature:
Return Tuple Structure:
Call Object Properties:
sender User Object:
receiver User Object:
CallStatus Enum Values:
CallType Enum Values:
Step 2. Launch call screen (Method 1)
You can directly launch the view controller from the app delegate once you receive Call Object.- Swift
Sample Payload - CometChatIncomingCall Configuration
Sample Payload - CometChatIncomingCall Configuration
Step 2. Launch call screen (Method 2)
You can launch the call screen from your base view controller instead of launching it from the App Delegate. This method uses NotificationCenter to trigger and present Call Screen.- In this method you need to fire notification after you receive Call Object.
- In Notification’s user info you can pass Call Object to that desired notification.
Trigger notification from App Delegate
- Swift
Sample Payload - NotificationCenter POST (Call)
Sample Payload - NotificationCenter POST (Call)
- On the other hand, you need to observe for the above notification in your base view controller
Observe notification in Base View Controller
- Swift
Add selector method & Launch call screen
- Swift