We are looking for a skilled React Native developer to integrate WebRTC into our mobile application. The main tasks will include setting up WebRTC, implementing a user-friendly call interface, managing call flows, and ensuring robust error handling.
Responsibilities:
Setup WebRTC:
* Integrate WebRTC using libraries like react-native-webrtc.
* Handle permissions for accessing the device’s camera and microphone.
UI Components:
* Design and implement UI components for the call interface, including call initiation, ongoing call screen, and call termination.
* Ensure the UI is responsive and user-friendly.
Signaling Communication:
* Implement signaling communication using WebSockets to connect with the Django signaling server.
* Handle the exchange of SDP and ICE candidates with the signaling server.
Call Flow Management:
* Manage the call flow including initiation, acceptance, and termination of calls.
* Display appropriate UI feedback for call status (e.g., ringing, connected, ended).
State Management:
* Use state management tools like Redux or Context API to manage call states and user data.
Error Handling:
* Implement robust error handling for various scenarios like network issues, permission denial, etc.
* General Steps for Implementing Voice/Video Calling:
User Authentication:
* Ensure that users are authenticated before they can initiate or receive calls.
Initiate Call:
* Allow users to select a contact and initiate a call.
* Send a signaling message to the server to notify the recipient of the incoming call.
Receive Call:
* Listen for incoming call notifications via WebSocket.
* Prompt the user to accept or decline the call.
Exchange SDP and ICE:
* Upon call acceptance, exchange SDP offers/answers and ICE candidates between peers through the signaling server.
* Establish the peer-to-peer connection using WebRTC.
Manage Call Lifecycle:
* Handle call lifecycle events including connection, disconnection, and errors.
* Ensure the call UI updates according to the call status.
End Call:
* Allow users to terminate the call.
* Notify the signaling server and the other peer about the call termination.
* Cleanup WebRTC resources and reset the UI.
Requirements:
* Proven experience in React Native development with a strong portfolio of completed projects.
* Proficiency in integrating WebRTC in mobile applications.
* Experience with state management tools like Redux or Context API.
* Strong understanding of WebSockets and signaling communication.
* Excellent problem-solving skills and attention to detail.
* Ability to work independently and meet deadlines.
* Strong communication skills and ability to collaborate with a remote team.
How to Apply:
Please submit your proposal with the following:
* A brief introduction of yourself and your experience in React Native and WebRTC development.
* Links to your portfolio or examples of previous work.
A brief outline of your approach to this project and how you plan to tackle the tasks mentioned.
* Your availability and estimated timeline for completing the initial tasks.
Hourly Range: $18.00-$30.00
Posted On: June 28, 2024 05:05 UTC
Category: Mobile App Development
Skills:WebRTC, React Native
Country: USA
click to apply
Powered by WPeMatico
