react-native-akameet-sdk v0.1.21
react-native-akameet-sdk
AkaMeet - Video conferencing, online meeting tool
Akameet for React Native. Supports Android & iOS platforms.
"Our akaMeet solutions provides video conferencing for all your business and customer needs, whether if you're in sales talking to clients, a relationship manager in a bank connecting with your customers, or a teacher connecting with your students. all your experiences and needs can be customized and optimized through akaMeet video conferencing capabilities!"
Installation
1. npm install react-native-akameet-sdk
iOS install
- add pods to Podfile file:
pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
pod 'RNReanimated', :path => '../node_modules/react-native-Reanimated'
pod 'react-native-webrtc', :path => '../node_modules/react-native-webrtc'
pod 'react-native-flipper', :path => '../node_modules/react-native-flipper'
pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-async-storage/async-storage'
- Add the following lines to your Info.plist
<key>NSCameraUsageDescription</key>
<string>akaMeet need to access Camera for display video streaming</string>
<key>NSMicrophoneUsageDescription</key>
<string>akaMeet need to access Microphone for voice streaming</string>
- Add 'react-native-reanimated/plugin' to plugins of babel.config.js file:
plugins: ['react-native-reanimated/plugin']
- Clean cache to update babel:
npx react-native start --reset-cache
or
yarn cache clean
- Clean your project and run: cd ios & pod install
Android install
- Add perrmission in AndroidManifest.xml file
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
- Update gradle.properties add this line in the end: android.enableDexingArtifactTransform.desugaring=false
Akameet SDK Implementation - Steps
- SDK Sample - https://github.com/ducnv3/akameet-sdk
- Document - https://github.com/ducnv3/akameet-sdk#readme
Steps to Integrate:
- Signup for Akameet (https://akameet.io) and signup for Developer or Higher plan.
- You will get email with roomId & passcode information format link: https://akameet.io/conference/j/xxxxxx?pwd=xxxxx
- You can access by browser of mobile app in Apple store and Google play store to testing meeting.
- install react-native-akameet-SDK mobile app and contact us get our configuration to access from you react-native app
Usage
import { Akameet, Config } from "react-native-akameet-sdk";
// ...
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
React.useEffect(() => {
Config.API_URL = `...`
Config.SIGNALING_URL = `...`;
Config.ROOM_ID = `...`;
Config.PASSWORD = `...`;
Config.DISPLAY_NAME = `your display name`;
Config.AUTH_SERVER = `...`
}, []);
return (
<View style={styles.container}>
<Akameet/>
</View>
);
You can hide button default and trigger JoinRoom method from your button, in the below
import { StyleSheet, View, Button } from 'react-native';
import { Akameet, Config, JoinRoom } from 'react-native-akameet-sdk';
export default function App() {
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
}
});
React.useEffect(() => {
Config.API_URL = `...`
Config.SIGNALING_URL = `...`;
Config.AUTH_SERVER = `...`
Config.SHOW_BUTTON_JOIN_ROOM = false;
}, []);
return (
<View style={styles.container}>
<Akameet />
<Button title='join room' onPress={() => JoinRoom({
roomId: `...`,
passWord: `...`,
displayName: `your display name`
})} />
</View>
);
}
Screens for example
Apply demo to your application
1. npm install react-native-akameet-sdk
2. add Podfile:
pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
pod 'RNReanimated', :path => '../node_modules/react-native-Reanimated'
pod 'react-native-webrtc', :path => '../node_modules/react-native-webrtc'
pod 'react-native-flipper', :path => '../node_modules/react-native-flipper'
pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-async-storage/async-storage'
3. Add 'react-native-reanimated/plugin' to plugins of babel.config.js file:
plugins: ['react-native-reanimated/plugin']
4. Clean cache to update babel:
npx react-native start --reset-cache
or
yarn cache clean
5. cd ios & pod install
6. Configuration in useEffect of your app.js file :
Config.API_URL = 'https://dev.akameet.io'
Config.SIGNALING_URL = `wss://dev.akameet.io`;
Config.ROOM_ID = `812265283983`;
Config.PASSWORD = `4969156341`;
Config.DISPLAY_NAME = `duc test aaa`;
Config.AUTH_SERVER = `https://dev.akameet.io`
7. npx react-native run-ios (or run-android)
8. Check your app is joined success in the room: https://dev.akameet.io/conference/j/812265283983?pwd=4969156341
Options
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago