@100mslive/react-native-hms 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -7
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +121 -53
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +21 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +177 -31
- package/ios/HMSDecoder.swift +113 -50
- package/ios/HMSManager.m +5 -0
- package/ios/HMSManager.swift +22 -1
- package/ios/HMSRNSDK.swift +157 -26
- package/ios/HMSView.swift +1 -1
- package/lib/commonjs/classes/HMSAudioCodec.js +4 -4
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioDevice.js +4 -4
- package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMixingMode.js +4 -4
- package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMode.js +4 -4
- package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioNode.js +2 -1
- package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js +4 -4
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSConstants.js +11 -0
- package/lib/commonjs/classes/HMSConstants.js.map +1 -0
- package/lib/commonjs/classes/HMSEncoder.js +21 -43
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSException.js +3 -4
- package/lib/commonjs/classes/HMSException.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
- package/lib/commonjs/classes/HMSHelper.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js +0 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +5 -6
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogAlarmManager.js +4 -4
- package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js +4 -4
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +17 -25
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +1 -2
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js +4 -4
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageType.js +4 -4
- package/lib/commonjs/classes/HMSMessageType.js.map +1 -1
- package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventEmitter.js +0 -5
- package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPListenerActions.js +4 -4
- package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +68 -22
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +7 -5
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +229 -0
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -0
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemotePeer.js +0 -1
- package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +0 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRole.js.map +1 -1
- package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +79 -22
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +128 -0
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js +4 -4
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +501 -33
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
- package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js +4 -4
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSource.js +4 -4
- package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js +4 -4
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js +4 -4
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -5
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js +4 -4
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +2 -1
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSAudioCodec.js +3 -3
- package/lib/module/classes/HMSAudioCodec.js.map +1 -1
- package/lib/module/classes/HMSAudioDevice.js +3 -3
- package/lib/module/classes/HMSAudioDevice.js.map +1 -1
- package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
- package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
- package/lib/module/classes/HMSAudioMixingMode.js +3 -3
- package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
- package/lib/module/classes/HMSAudioMode.js +3 -3
- package/lib/module/classes/HMSAudioMode.js.map +1 -1
- package/lib/module/classes/HMSAudioNode.js +2 -1
- package/lib/module/classes/HMSAudioNode.js.map +1 -1
- package/lib/module/classes/HMSAudioSettings.js.map +1 -1
- package/lib/module/classes/HMSAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js +1 -1
- package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSCameraFacing.js +3 -3
- package/lib/module/classes/HMSCameraFacing.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSConfig.js.map +1 -1
- package/lib/module/classes/HMSConstants.js +4 -0
- package/lib/module/classes/HMSConstants.js.map +1 -0
- package/lib/module/classes/HMSEncoder.js +21 -43
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSException.js +3 -4
- package/lib/module/classes/HMSException.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
- package/lib/module/classes/HMSHLSVariant.js.map +1 -1
- package/lib/module/classes/HMSHelper.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js +0 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +5 -6
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogAlarmManager.js +3 -3
- package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
- package/lib/module/classes/HMSLogLevel.js +3 -3
- package/lib/module/classes/HMSLogLevel.js.map +1 -1
- package/lib/module/classes/HMSLogSettings.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +17 -25
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +1 -2
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipientType.js +3 -3
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/module/classes/HMSMessageType.js +3 -3
- package/lib/module/classes/HMSMessageType.js.map +1 -1
- package/lib/module/classes/HMSMicNode.js.map +1 -1
- package/lib/module/classes/HMSNativeEventEmitter.js +1 -6
- package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -1
- package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
- package/lib/module/classes/HMSPIPListenerActions.js +3 -3
- package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +68 -22
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +4 -3
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPeersCache.js +216 -0
- package/lib/module/classes/HMSPeersCache.js.map +1 -0
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSPublishSettings.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js.map +1 -1
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
- package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemotePeer.js +0 -1
- package/lib/module/classes/HMSRemotePeer.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +0 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRole.js.map +1 -1
- package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +79 -22
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomCache.js +115 -0
- package/lib/module/classes/HMSRoomCache.js.map +1 -0
- package/lib/module/classes/HMSRoomUpdate.js +3 -3
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +501 -33
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
- package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
- package/lib/module/classes/HMSSpeaker.js.map +1 -1
- package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
- package/lib/module/classes/HMSTrack.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSTrackSettingsInitState.js +3 -3
- package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
- package/lib/module/classes/HMSTrackSource.js +3 -3
- package/lib/module/classes/HMSTrackSource.js.map +1 -1
- package/lib/module/classes/HMSTrackType.js +3 -3
- package/lib/module/classes/HMSTrackType.js.map +1 -1
- package/lib/module/classes/HMSTrackUpdate.js +3 -3
- package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +4 -4
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js +3 -3
- package/lib/module/classes/HMSVideoCodec.js.map +1 -1
- package/lib/module/classes/HMSVideoResolution.js.map +1 -1
- package/lib/module/classes/HMSVideoSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js +1 -1
- package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoViewMode.js +3 -3
- package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/module/classes/HmsView.js +2 -1
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/typescript/classes/HMSConstants.d.ts +3 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +7 -6
- package/lib/typescript/classes/HMSLocalPeer.d.ts +0 -14
- package/lib/typescript/classes/HMSLogger.d.ts +1 -7
- package/lib/typescript/classes/HMSPeer.d.ts +12 -18
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +1 -0
- package/lib/typescript/classes/HMSPeersCache.d.ts +17 -0
- package/lib/typescript/classes/HMSRemotePeer.d.ts +0 -14
- package/lib/typescript/classes/HMSRoom.d.ts +11 -22
- package/lib/typescript/classes/HMSRoomCache.d.ts +16 -0
- package/lib/typescript/classes/HMSSDK.d.ts +20 -12
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +1 -1
- package/package.json +2 -2
- package/sdk-versions.json +3 -3
- package/src/classes/HMSAudioNode.ts +3 -1
- package/src/classes/HMSConstants.ts +3 -0
- package/src/classes/HMSEncoder.ts +24 -69
- package/src/classes/HMSLocalPeer.ts +0 -15
- package/src/classes/HMSLogger.ts +20 -19
- package/src/classes/HMSNativeEventEmitter.ts +35 -12
- package/src/classes/HMSPeer.ts +133 -34
- package/src/classes/HMSPeerUpdate.ts +9 -0
- package/src/classes/HMSPeersCache.ts +252 -0
- package/src/classes/HMSRemotePeer.ts +0 -16
- package/src/classes/HMSRoom.ts +141 -37
- package/src/classes/HMSRoomCache.ts +157 -0
- package/src/classes/HMSSDK.tsx +102 -43
- package/src/classes/HMSUpdateListenerActions.ts +1 -1
- package/src/classes/HmsView.tsx +2 -1
package/README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<a href="https://100ms.live/">
|
|
2
|
-
<img src="https://
|
|
3
|
-
<img src="https://github.com/100mslive/100ms-react-native/blob/main/100ms.svg" title="100ms logo" float=center height=256>
|
|
2
|
+
<img src="https://raw.githubusercontent.com/100mslive/react-native-hms/main/100ms.svg" title="100ms logo" float=center height=256>
|
|
4
3
|
</a>
|
|
5
4
|
|
|
6
5
|
[](https://www.npmjs.com/package/@100mslive/react-native-hms)
|
|
@@ -17,6 +16,11 @@
|
|
|
17
16
|
|
|
18
17
|
# 100ms React Native SDK
|
|
19
18
|
|
|
19
|
+
Integrate Real Time Audio and Video conferencing, Interactive Live Streaming, and Chat in your apps with 100ms React Native SDK.
|
|
20
|
+
|
|
21
|
+
With support for HLS and RTMP Live Streaming and Recording, Picture-in-Picture (PiP), one-to-one Video Call Modes, Audio Rooms, Video Player and much more, add immersive real-time communications to your apps.
|
|
22
|
+
|
|
23
|
+
|
|
20
24
|
📖 Read the Complete Documentation here: https://www.100ms.live/docs/react-native/v2/foundation/basics
|
|
21
25
|
|
|
22
26
|
## 🏃 Example App
|
|
@@ -41,9 +45,9 @@ Troubleshooting Guide for resolving issues in running the Example app is [availa
|
|
|
41
45
|
|
|
42
46
|
## ☝️ Minimum Configuration
|
|
43
47
|
|
|
44
|
-
- Support for React Native 0.
|
|
48
|
+
- Support for React Native 0.64.4 or above
|
|
45
49
|
- Support for Java 8 or above
|
|
46
|
-
- Support for Android API level
|
|
50
|
+
- Support for Android API level 24 or above
|
|
47
51
|
- Xcode 13 or above
|
|
48
52
|
- Support for iOS 12 or above
|
|
49
53
|
|
|
@@ -120,17 +124,65 @@ More information about Audio Video Permission on iOS & Android is [available her
|
|
|
120
124
|
|
|
121
125
|
The package exports all the classes and a HMSSDK class that manages everything.
|
|
122
126
|
|
|
123
|
-
## Setting up the HMS Instance
|
|
127
|
+
## [Setting up the HMS Instance](https://www.100ms.live/docs/react-native/v2/how--to-guides/install-the-sdk/hmssdk)
|
|
124
128
|
|
|
125
129
|
First invoke the `build` method which returns an instance of `HMSSDK`. Save this instance to perform all actions related to 100ms.
|
|
126
130
|
|
|
127
131
|
```ts
|
|
128
132
|
import { HMSSDK } from '@100mslive/react-native-hms';
|
|
129
133
|
|
|
130
|
-
|
|
134
|
+
/**
|
|
135
|
+
* create HMSSDK instance using the build method & save it for further usage
|
|
136
|
+
*
|
|
137
|
+
* Important Note: Don't build new `HMSSDK` instance before destroying the previous one.
|
|
138
|
+
* for more info checkout {@link https://www.100ms.live/docs/react-native/v2/how--to-guides/install-the-sdk/hmssdk#what-does-destroy-method-do}
|
|
139
|
+
*/
|
|
131
140
|
const hmsInstance = await HMSSDK.build();
|
|
132
141
|
```
|
|
133
142
|
|
|
143
|
+
## [Get Authentication Token](https://www.100ms.live/docs/react-native/v2/get-started/quickstart#fetch-token-to-join-the-room)
|
|
144
|
+
|
|
145
|
+
### Fetch token using room-code method (Recommended)
|
|
146
|
+
|
|
147
|
+
We can get the authentication token using room-code from meeting URL.
|
|
148
|
+
|
|
149
|
+
Let's understand the subdomain and code from the sample URL
|
|
150
|
+
|
|
151
|
+
In this sample url: `http://100ms-rocks.app.100ms.live/meeting/abc-defg-hij`
|
|
152
|
+
- Subdomain is `100ms-rocks`
|
|
153
|
+
- Room code is `abc-defg-hij`
|
|
154
|
+
|
|
155
|
+
Now to get the room-code from meeting URL, we can write our own logic or use the `getCode` method from [here](https://github.com/100mslive/react-native-hms/blob/main/example/src/utils/getRoomLinkDetails.ts)
|
|
156
|
+
|
|
157
|
+
To generate token we will be using `getAuthTokenByRoomCode` method available on `HMSSDK` instance. This method has `roomCode` as a required
|
|
158
|
+
parameter and `userId` & `endpoint` as optional parameter.
|
|
159
|
+
|
|
160
|
+
Let's checkout the implementation:
|
|
161
|
+
|
|
162
|
+
```js
|
|
163
|
+
/**
|
|
164
|
+
* `getAuthTokenByRoomCode` returns a promise which is resolved with "auth token"
|
|
165
|
+
* checkout {@link https://www.100ms.live/docs/react-native/v2/how--to-guides/install-the-sdk/hmssdk#what-does-destroy-method-do}
|
|
166
|
+
*/
|
|
167
|
+
const token = await hmsInstance.getAuthTokenByRoomCode('YOUR_ROOM_CODE');
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Create `HMSConfig` with the above auth token and username
|
|
171
|
+
*/
|
|
172
|
+
const hmsConfig = new HMSConfig({ authToken: token, username: 'John Appleseed' });
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Get temporary token from dashboard
|
|
176
|
+
|
|
177
|
+
To test audio/video functionality, you need to connect to a 100ms Room. Please check the following steps for the same -
|
|
178
|
+
|
|
179
|
+
1. Navigate to your [100ms dashboard](https://dashboard.100ms.live/dashboard) or [create an account](https://dashboard.100ms.live/register) if you don't have one.
|
|
180
|
+
2. Use the `Video Conferencing Starter Kit` to create a room with a default template assigned to it to test this app quickly.
|
|
181
|
+
3. Go to the [Rooms page](https://dashboard.100ms.live/rooms) in your dashboard, click on the `Room Id` of the room you created above, and click on the `Join Room` button on the top right.
|
|
182
|
+
4. You will see 100ms demo URLs for the roles created when you deployed the starter kit; you can click on the 'key' icon to copy the token and update the `AUTH_TOKEN` variable in "App.js" file.
|
|
183
|
+
> Token from 100ms dashboard is for testing purposes only, For production applications you must generate tokens on your own server. Refer to the [Management Token section](/concepts/v2/concepts/security-and-tokens#management-token) in Authentication and Tokens guide for more information.
|
|
184
|
+
|
|
185
|
+
|
|
134
186
|
## [Add Event Listeners](https://www.100ms.live/docs/react-native/v2/features/event-listeners)
|
|
135
187
|
|
|
136
188
|
Add Event Listeners to get notified about actions happening in the 100ms Room.
|
|
@@ -175,6 +227,8 @@ NOTE: `ON_JOIN` Event Listener must be **attached** before calling `join` functi
|
|
|
175
227
|
// create HMSSDK instance using the build function
|
|
176
228
|
const hmsInstance = await HMSSDK.build();
|
|
177
229
|
|
|
230
|
+
// Generate 100ms Auth Token by Room Code
|
|
231
|
+
const token = await hmsInstance.getAuthTokenByRoomCode('abc-defg-hij'); // Sample Room Code
|
|
178
232
|
|
|
179
233
|
// You'll need to add Event Listeners for HMSUpdateListenerActions, which are invoked to notify about updates happening in the room like a peer joins/leaves, a track got muted/unmuted, any errors that occur, etc.
|
|
180
234
|
hmsInstance.addEventListener(HMSUpdateListenerActions.ON_JOIN, onJoinSuccess);
|
|
@@ -185,7 +239,7 @@ hmsInstance.addEventListener(HMSUpdateListenerActions.ON_ERROR, onError);
|
|
|
185
239
|
|
|
186
240
|
// Next, create an object of HMSConfig class using the available joining configurations.
|
|
187
241
|
let config = new HMSConfig({
|
|
188
|
-
authToken:
|
|
242
|
+
authToken: token, // client-side token generated by `getAuthTokenByRoomCode` method
|
|
189
243
|
username: 'John Appleseed',
|
|
190
244
|
});
|
|
191
245
|
|
|
@@ -9,6 +9,8 @@ import live.hms.video.media.settings.HMSVideoResolution
|
|
|
9
9
|
import live.hms.video.media.settings.HMSVideoTrackSettings
|
|
10
10
|
import live.hms.video.media.tracks.*
|
|
11
11
|
import live.hms.video.sdk.models.*
|
|
12
|
+
import live.hms.video.sdk.models.enums.HMSPeerUpdate
|
|
13
|
+
import live.hms.video.sdk.models.enums.HMSRoomUpdate
|
|
12
14
|
import live.hms.video.sdk.models.role.*
|
|
13
15
|
import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
|
|
14
16
|
|
|
@@ -23,6 +25,54 @@ object HMSDecoder {
|
|
|
23
25
|
this.restrictRoleData.clear()
|
|
24
26
|
}
|
|
25
27
|
|
|
28
|
+
fun getHmsRoomSubset(hmsRoom: HMSRoom?, hmsRoomUpdateType: HMSRoomUpdate? = null): WritableMap {
|
|
29
|
+
val room: WritableMap = Arguments.createMap()
|
|
30
|
+
if (hmsRoom != null) {
|
|
31
|
+
room.putString("id", hmsRoom.roomId)
|
|
32
|
+
|
|
33
|
+
when (hmsRoomUpdateType) {
|
|
34
|
+
HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED -> {
|
|
35
|
+
room.putInt("peerCount", hmsRoom.peerCount)
|
|
36
|
+
}
|
|
37
|
+
HMSRoomUpdate.HLS_RECORDING_STATE_UPDATED -> {
|
|
38
|
+
hmsRoom.hlsRecordingState?.let {
|
|
39
|
+
room.putMap("hlsRecordingState", this.getHMSHlsRecordingState(it))
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED -> {
|
|
43
|
+
hmsRoom.browserRecordingState?.let {
|
|
44
|
+
room.putMap(
|
|
45
|
+
"browserRecordingState",
|
|
46
|
+
this.getHMSBrowserRecordingState(it)
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED -> {
|
|
51
|
+
hmsRoom.hlsStreamingState?.let {
|
|
52
|
+
room.putMap("hlsStreamingState", this.getHMSHlsStreamingState(it))
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED -> {
|
|
56
|
+
hmsRoom.rtmpHMSRtmpStreamingState?.let {
|
|
57
|
+
room.putMap(
|
|
58
|
+
"rtmpHMSRtmpStreamingState",
|
|
59
|
+
this.getHMSRtmpStreamingState(it)
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
HMSRoomUpdate.SERVER_RECORDING_STATE_UPDATED -> {
|
|
64
|
+
hmsRoom.serverRecordingState?.let {
|
|
65
|
+
room.putMap(
|
|
66
|
+
"serverRecordingState",
|
|
67
|
+
this.getHMSServerRecordingState(it)
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return room
|
|
74
|
+
}
|
|
75
|
+
|
|
26
76
|
fun getHmsRoom(hmsRoom: HMSRoom?): WritableMap {
|
|
27
77
|
val room: WritableMap = Arguments.createMap()
|
|
28
78
|
if (hmsRoom != null) {
|
|
@@ -64,12 +114,68 @@ object HMSDecoder {
|
|
|
64
114
|
}
|
|
65
115
|
|
|
66
116
|
room.putMap("localPeer", this.getHmsLocalPeer(hmsRoom.localPeer))
|
|
117
|
+
|
|
67
118
|
room.putArray("peers", this.getAllPeers(hmsRoom.peerList))
|
|
119
|
+
|
|
68
120
|
room.putInt("peerCount", hmsRoom.peerCount)
|
|
69
121
|
}
|
|
70
122
|
return room
|
|
71
123
|
}
|
|
72
124
|
|
|
125
|
+
fun getHmsPeerSubsetForPeerUpdateEvent(hmsPeer: HMSPeer?, peerUpdateType: HMSPeerUpdate): WritableMap {
|
|
126
|
+
val peer: WritableMap = Arguments.createMap()
|
|
127
|
+
if (hmsPeer != null) {
|
|
128
|
+
peer.putString(peerUpdateType.ordinal.toString(), hmsPeer.peerID)
|
|
129
|
+
|
|
130
|
+
if (peerUpdateType !== null) {
|
|
131
|
+
when (peerUpdateType) {
|
|
132
|
+
HMSPeerUpdate.NAME_CHANGED -> {
|
|
133
|
+
peer.putString("name", hmsPeer.name)
|
|
134
|
+
}
|
|
135
|
+
HMSPeerUpdate.METADATA_CHANGED -> {
|
|
136
|
+
peer.putString("metadata", hmsPeer.metadata)
|
|
137
|
+
}
|
|
138
|
+
HMSPeerUpdate.ROLE_CHANGED -> {
|
|
139
|
+
peer.putMap("role", this.getHmsRole(hmsPeer.hmsRole))
|
|
140
|
+
}
|
|
141
|
+
HMSPeerUpdate.NETWORK_QUALITY_UPDATED -> {
|
|
142
|
+
hmsPeer.networkQuality?.let {
|
|
143
|
+
peer.putMap("networkQuality", this.getHmsNetworkQuality(it))
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return peer
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
fun getHmsPeerSubset(hmsPeer: HMSPeer?, peerUpdateType: HMSPeerUpdate? = null): WritableMap {
|
|
153
|
+
val peer: WritableMap = Arguments.createMap()
|
|
154
|
+
if (hmsPeer != null) {
|
|
155
|
+
peer.putString("peerID", hmsPeer.peerID)
|
|
156
|
+
|
|
157
|
+
if (peerUpdateType !== null) {
|
|
158
|
+
when (peerUpdateType) {
|
|
159
|
+
HMSPeerUpdate.NAME_CHANGED -> {
|
|
160
|
+
peer.putString("name", hmsPeer.name)
|
|
161
|
+
}
|
|
162
|
+
HMSPeerUpdate.METADATA_CHANGED -> {
|
|
163
|
+
peer.putString("metadata", hmsPeer.metadata)
|
|
164
|
+
}
|
|
165
|
+
HMSPeerUpdate.ROLE_CHANGED -> {
|
|
166
|
+
peer.putMap("role", this.getHmsRole(hmsPeer.hmsRole))
|
|
167
|
+
}
|
|
168
|
+
HMSPeerUpdate.NETWORK_QUALITY_UPDATED -> {
|
|
169
|
+
hmsPeer.networkQuality?.let {
|
|
170
|
+
peer.putMap("networkQuality", this.getHmsNetworkQuality(it))
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return peer
|
|
177
|
+
}
|
|
178
|
+
|
|
73
179
|
fun getHmsPeer(hmsPeer: HMSPeer?): WritableMap {
|
|
74
180
|
val peer: WritableMap = Arguments.createMap()
|
|
75
181
|
if (hmsPeer != null) {
|
|
@@ -106,7 +212,7 @@ object HMSDecoder {
|
|
|
106
212
|
return peer
|
|
107
213
|
}
|
|
108
214
|
|
|
109
|
-
|
|
215
|
+
fun getHmsAudioTrack(hmsAudioTrack: HMSAudioTrack?): WritableMap {
|
|
110
216
|
val hmsTrack: WritableMap = Arguments.createMap()
|
|
111
217
|
if (hmsAudioTrack != null) {
|
|
112
218
|
hmsTrack.putString("type", hmsAudioTrack.type.name)
|
|
@@ -118,7 +224,7 @@ object HMSDecoder {
|
|
|
118
224
|
return hmsTrack
|
|
119
225
|
}
|
|
120
226
|
|
|
121
|
-
|
|
227
|
+
fun getHmsVideoTrack(hmsVideoTrack: HMSVideoTrack?): WritableMap {
|
|
122
228
|
val hmsTrack: WritableMap = Arguments.createMap()
|
|
123
229
|
if (hmsVideoTrack != null) {
|
|
124
230
|
hmsTrack.putString("type", hmsVideoTrack.type.name)
|
|
@@ -154,7 +260,7 @@ object HMSDecoder {
|
|
|
154
260
|
return decodedRoles
|
|
155
261
|
}
|
|
156
262
|
|
|
157
|
-
|
|
263
|
+
fun getHmsRole(hmsRole: HMSRole?): WritableMap {
|
|
158
264
|
val role: WritableMap = Arguments.createMap()
|
|
159
265
|
if (hmsRole != null) {
|
|
160
266
|
role.putString("name", hmsRole.name)
|
|
@@ -243,34 +349,14 @@ object HMSDecoder {
|
|
|
243
349
|
val peer: WritableMap = Arguments.createMap()
|
|
244
350
|
if (hmsLocalPeer != null) {
|
|
245
351
|
peer.putString("peerID", hmsLocalPeer.peerID)
|
|
246
|
-
peer.putString("name", hmsLocalPeer.name)
|
|
247
|
-
peer.putBoolean("isLocal", hmsLocalPeer.isLocal)
|
|
248
|
-
|
|
249
|
-
peer.putMap("role", this.getHmsRole(hmsLocalPeer.hmsRole))
|
|
250
|
-
|
|
251
|
-
peer.putString("metadata", hmsLocalPeer.metadata)
|
|
252
|
-
|
|
253
|
-
hmsLocalPeer.customerUserID?.let {
|
|
254
|
-
peer.putString("customerUserID", it)
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
hmsLocalPeer.networkQuality?.let {
|
|
258
|
-
peer.putMap("networkQuality", this.getHmsNetworkQuality(it))
|
|
259
|
-
}
|
|
260
352
|
|
|
261
353
|
hmsLocalPeer.audioTrack?.let {
|
|
262
|
-
peer.putMap("audioTrack", this.getHmsAudioTrack(it))
|
|
263
354
|
peer.putMap("localAudioTrackData", this.getHmsLocalAudioTrack(it))
|
|
264
355
|
}
|
|
265
356
|
|
|
266
357
|
hmsLocalPeer.videoTrack?.let {
|
|
267
|
-
peer.putMap("videoTrack", this.getHmsVideoTrack(it))
|
|
268
358
|
peer.putMap("localVideoTrackData", this.getHmsLocalVideoTrack(it))
|
|
269
359
|
}
|
|
270
|
-
|
|
271
|
-
hmsLocalPeer.auxiliaryTracks.let {
|
|
272
|
-
peer.putArray("auxiliaryTracks", this.getAllTracks(it))
|
|
273
|
-
}
|
|
274
360
|
}
|
|
275
361
|
return peer
|
|
276
362
|
}
|
|
@@ -347,32 +433,14 @@ object HMSDecoder {
|
|
|
347
433
|
val peer: WritableMap = Arguments.createMap()
|
|
348
434
|
if (hmsRemotePeer != null) {
|
|
349
435
|
peer.putString("peerID", hmsRemotePeer.peerID)
|
|
350
|
-
peer.putString("name", hmsRemotePeer.name)
|
|
351
|
-
peer.putBoolean("isLocal", hmsRemotePeer.isLocal)
|
|
352
|
-
peer.putString("metadata", hmsRemotePeer.metadata)
|
|
353
|
-
peer.putMap("role", this.getHmsRole(hmsRemotePeer.hmsRole))
|
|
354
|
-
|
|
355
|
-
hmsRemotePeer.customerUserID?.let {
|
|
356
|
-
peer.putString("customerUserID", it)
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
hmsRemotePeer.networkQuality?.let {
|
|
360
|
-
peer.putMap("networkQuality", this.getHmsNetworkQuality(it))
|
|
361
|
-
}
|
|
362
436
|
|
|
363
437
|
hmsRemotePeer.audioTrack?.let {
|
|
364
|
-
peer.putMap("audioTrack", this.getHmsAudioTrack(it))
|
|
365
438
|
peer.putMap("remoteAudioTrackData", this.getHmsRemoteAudioTrack(it))
|
|
366
439
|
}
|
|
367
440
|
|
|
368
441
|
hmsRemotePeer.videoTrack?.let {
|
|
369
|
-
peer.putMap("videoTrack", this.getHmsVideoTrack(hmsRemotePeer.videoTrack))
|
|
370
442
|
peer.putMap("remoteVideoTrackData", this.getHmsRemoteVideoTrack(hmsRemotePeer.videoTrack))
|
|
371
443
|
}
|
|
372
|
-
|
|
373
|
-
hmsRemotePeer.auxiliaryTracks.let {
|
|
374
|
-
peer.putArray("auxiliaryTracks", this.getAllTracks(it))
|
|
375
|
-
}
|
|
376
444
|
}
|
|
377
445
|
return peer
|
|
378
446
|
}
|
|
@@ -423,7 +491,7 @@ object HMSDecoder {
|
|
|
423
491
|
val roleChangeRequest: WritableMap = Arguments.createMap()
|
|
424
492
|
if (id != null) {
|
|
425
493
|
request.requestedBy?.let {
|
|
426
|
-
roleChangeRequest.putMap("requestedBy", this.
|
|
494
|
+
roleChangeRequest.putMap("requestedBy", this.getHmsPeerSubset(it))
|
|
427
495
|
}
|
|
428
496
|
roleChangeRequest.putMap("suggestedRole", this.getHmsRole(request.suggestedRole))
|
|
429
497
|
roleChangeRequest.putString("id", id)
|
|
@@ -436,7 +504,7 @@ object HMSDecoder {
|
|
|
436
504
|
val changeTrackStateRequest: WritableMap = Arguments.createMap()
|
|
437
505
|
|
|
438
506
|
request.requestedBy?.let {
|
|
439
|
-
changeTrackStateRequest.putMap("requestedBy", this.
|
|
507
|
+
changeTrackStateRequest.putMap("requestedBy", this.getHmsPeerSubset(it))
|
|
440
508
|
}
|
|
441
509
|
changeTrackStateRequest.putString("trackType", request.track.type.name)
|
|
442
510
|
changeTrackStateRequest.putBoolean("mute", request.mute)
|
|
@@ -459,7 +527,7 @@ object HMSDecoder {
|
|
|
459
527
|
return null
|
|
460
528
|
}
|
|
461
529
|
|
|
462
|
-
|
|
530
|
+
fun getHMSBrowserRecordingState(data: HMSBrowserRecordingState?): ReadableMap {
|
|
463
531
|
val input = Arguments.createMap()
|
|
464
532
|
if (data !== null) {
|
|
465
533
|
input.putBoolean("running", data.running)
|
|
@@ -479,7 +547,7 @@ object HMSDecoder {
|
|
|
479
547
|
return input
|
|
480
548
|
}
|
|
481
549
|
|
|
482
|
-
|
|
550
|
+
fun getHMSRtmpStreamingState(data: HMSRtmpStreamingState?): ReadableMap {
|
|
483
551
|
val input = Arguments.createMap()
|
|
484
552
|
if (data !== null) {
|
|
485
553
|
input.putBoolean("running", data.running)
|
|
@@ -499,7 +567,7 @@ object HMSDecoder {
|
|
|
499
567
|
return input
|
|
500
568
|
}
|
|
501
569
|
|
|
502
|
-
|
|
570
|
+
fun getHMSServerRecordingState(data: HMSServerRecordingState?): ReadableMap {
|
|
503
571
|
val input = Arguments.createMap()
|
|
504
572
|
if (data !== null) {
|
|
505
573
|
input.putBoolean("running", data.running)
|
|
@@ -515,7 +583,7 @@ object HMSDecoder {
|
|
|
515
583
|
return input
|
|
516
584
|
}
|
|
517
585
|
|
|
518
|
-
|
|
586
|
+
fun getHMSHlsStreamingState(data: HMSHLSStreamingState?): ReadableMap {
|
|
519
587
|
val input = Arguments.createMap()
|
|
520
588
|
if (data !== null) {
|
|
521
589
|
input.putBoolean("running", data.running)
|
|
@@ -526,7 +594,7 @@ object HMSDecoder {
|
|
|
526
594
|
return input
|
|
527
595
|
}
|
|
528
596
|
|
|
529
|
-
|
|
597
|
+
fun getHMSHlsRecordingState(data: HmsHlsRecordingState?): ReadableMap {
|
|
530
598
|
val input = Arguments.createMap()
|
|
531
599
|
if (data !== null) {
|
|
532
600
|
data.running?.let { input.putBoolean("running", it) }
|
|
@@ -591,18 +659,18 @@ object HMSDecoder {
|
|
|
591
659
|
return subscribeDegradationParams
|
|
592
660
|
}
|
|
593
661
|
|
|
594
|
-
|
|
662
|
+
fun getAllPeers(peers: List<HMSPeer>?): WritableArray {
|
|
595
663
|
val decodedPeers: WritableArray = Arguments.createArray()
|
|
596
664
|
if (peers != null) {
|
|
597
665
|
for (peer in peers) {
|
|
598
|
-
val decodedPeer = this.
|
|
666
|
+
val decodedPeer = this.getHmsPeerSubset(peer)
|
|
599
667
|
decodedPeers.pushMap(decodedPeer)
|
|
600
668
|
}
|
|
601
669
|
}
|
|
602
670
|
return decodedPeers
|
|
603
671
|
}
|
|
604
672
|
|
|
605
|
-
|
|
673
|
+
fun getAllTracks(tracks: MutableList<HMSTrack>?): WritableArray {
|
|
606
674
|
val decodedTracks: WritableArray = Arguments.createArray()
|
|
607
675
|
if (tracks != null) {
|
|
608
676
|
for (track in tracks) {
|
|
@@ -617,7 +685,7 @@ object HMSDecoder {
|
|
|
617
685
|
val hmsRecipient: WritableMap = Arguments.createMap()
|
|
618
686
|
if (recipient != null) {
|
|
619
687
|
recipient.recipientPeer?.let {
|
|
620
|
-
hmsRecipient.putMap("recipientPeer", this.
|
|
688
|
+
hmsRecipient.putMap("recipientPeer", this.getHmsPeerSubset(it))
|
|
621
689
|
}
|
|
622
690
|
|
|
623
691
|
hmsRecipient.putArray("recipientRoles", this.getAllRoles(recipient.recipientRoles))
|
|
@@ -626,7 +694,7 @@ object HMSDecoder {
|
|
|
626
694
|
return hmsRecipient
|
|
627
695
|
}
|
|
628
696
|
|
|
629
|
-
|
|
697
|
+
fun getHmsNetworkQuality(networkQuality: HMSNetworkQuality?): WritableMap {
|
|
630
698
|
val hmsNetworkQuality: WritableMap = Arguments.createMap()
|
|
631
699
|
if (networkQuality != null) {
|
|
632
700
|
hmsNetworkQuality.putInt("downlinkQuality", networkQuality.downlinkQuality)
|
|
@@ -447,6 +447,20 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
447
447
|
hms?.getSessionMetaData(callback)
|
|
448
448
|
}
|
|
449
449
|
|
|
450
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
451
|
+
fun getPeerProperty(data: ReadableMap): WritableMap? {
|
|
452
|
+
val hms = HMSHelper.getHms(data, hmsCollection) ?: return null
|
|
453
|
+
|
|
454
|
+
return hms.getPeerProperty(data)
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
458
|
+
fun getRoomProperty(data: ReadableMap): WritableMap? {
|
|
459
|
+
val hms = HMSHelper.getHms(data, hmsCollection) ?: return null
|
|
460
|
+
|
|
461
|
+
return hms.getRoomProperty(data)
|
|
462
|
+
}
|
|
463
|
+
|
|
450
464
|
@ReactMethod
|
|
451
465
|
fun enableEvent(data: ReadableMap, promise: Promise?) {
|
|
452
466
|
val hms = HMSHelper.getHms(data, hmsCollection)
|
|
@@ -468,6 +482,13 @@ class HMSManager(reactContext: ReactApplicationContext) :
|
|
|
468
482
|
hms?.restrictData(data, promise)
|
|
469
483
|
}
|
|
470
484
|
|
|
485
|
+
@ReactMethod()
|
|
486
|
+
fun getAuthTokenByRoomCode(data: ReadableMap, promise: Promise) {
|
|
487
|
+
val hms = HMSHelper.getHms(data, hmsCollection)
|
|
488
|
+
|
|
489
|
+
hms?.getAuthTokenByRoomCode(data, promise)
|
|
490
|
+
}
|
|
491
|
+
|
|
471
492
|
// region Person-In-Person Mode Action handing
|
|
472
493
|
private val pipReceiver by lazy {
|
|
473
494
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|