connectcore-sdk
v1.0.0-beta.1
Published
ConnectCore Real-time SDK
Maintainers
Readme
ConnectCore SDK
The official frontend SDK for the ConnectCore real-time communication platform. This SDK provides a simple, event-driven interface for building chat, audio/video calls, and screen sharing applications.
Features
- 🚀 Real-time Messaging: Robust WebSocket-based chat with queuing.
- 📞 WebRTC Calls: P2P audio and video communication.
- 🖥️ Screen Sharing: Seamlessly share your screen during active calls.
- 👥 Presence: Real-time online user list updates.
- 📂 Multi-tenant: Built-in support for Application IDs.
Installation
Via NPM (Recommended)
npm install connectcore-sdkBrowser (UMD)
Copy the dist/index.global.js file to your project and include it via a script tag:
<script src="path/to/dist/index.global.js"></script>
<script>
// Access via global object
const client = new ConnectCore.ChatSDK({
serverUrl: "ws://localhost:8080/ws",
appId: "your-app-id",
userId: "your-user-id"
});
</script>Basic Usage
Initialization
import { ChatSDK } from 'connectcore-sdk';
const sdk = ChatSDK.init({
serverUrl: 'ws://localhost:8080/ws',
appId: 'my-app',
userId: 'user-1'
});
sdk.onConnect(() => {
console.log('Connected to ConnectCore!');
});Sending Messages
sdk.sendMessage('user-2', 'Hello from ConnectCore!');
sdk.onMessage((msg) => {
console.log(`Message from ${msg.fromUserId}: ${msg.content}`);
});Real-time Calls
// Start a video call
const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true });
await sdk.startCall('user-2', stream);
// Listen for incoming calls
sdk.onSignal((msg) => {
if (msg.type === 'CALL_REQUEST') {
// Show incoming call UI
}
});Screen Sharing
const webrtc = sdk.getWebrtcManager();
const screenStream = await navigator.mediaDevices.getDisplayMedia({ video: true });
const screenTrack = screenStream.getVideoTracks()[0];
// Switch camera to screen share mid-call
await webrtc.replaceVideoTrack(screenTrack);Cleanup
Always destroy the SDK instance when done to close connections and stop media tracks.
sdk.destroy();API Reference
ChatSDK
init(options): Static initializer.sendMessage(toUserId, content): Send a chat message.startCall(toUserId, localStream): Initiate a WebRTC call.endCall(toUserId): Terminate an active call.onMessage(callback): Listen for new messages.onUsersUpdate(callback): Listen for online user list changes.onConnect(callback): Triggered on successful connection.destroy(): Full cleanup of SDK.
WebRTCManager
Accessible via sdk.getWebrtcManager().
replaceVideoTrack(newTrack): Swaps the outgoing video track (Camera <-> Screen share).
License
MIT
