Skip to main content
Version: 0.x.x

Video SDK useKeyProvider Hook - React Native

useKeyProvider Hook​

The useKeyProvider hook provides functionality to manage your SecureKey and enable End to End Encryption.

useKeyProvider example​

import React from "react";
import { View, Text } from "react-native";
import { MeetingProvider, useKeyProvider } from "@videosdk.live/react-native-sdk";

function MeetingWithE2EE() {
// Initialize the keyProvider with options (optional)
const keyProvider = useKeyProvider({
discardFrameWhenCryptorNotReady: true,
});
// Set a shared key for encryption
const setupEncryption = async () => {
// Set a secure key only if keyProvider exists
if (keyProvider) {
await keyProvider.setSharedKey("YOUR-SECURE-KEY");
}
};
// Call the setup function when component mounts
React.useEffect(() => {
setupEncryption();
}, []);

return (
<MeetingProvider
config={{
meetingId: "meeting-id",
micEnabled: true,
webcamEnabled: true,
name: "Test User",
}}
token="your-token"
// Pass the keyProvider to enable E2EE (optional)
keyProvider={keyProvider || null}
>
<YourMeetingComponent />
</MeetingProvider>
);
}
// Your meeting component implementation
function YourMeetingComponent() {
return (
<View>
<Text>End-to-End Encrypted Meeting</Text>
{/* Your meeting UI components */}
</View>
);
}
export default MeetingWithE2EE;

Returns​

The hook returns the following properties:

setSharedKey()​

  • Type: (key: string) => Promise<any>
  • Description: Sets the shared encryption key for End to End Encryption.

Got a Question? Ask us on discord