Package io.rong.imlib

## Class IMLibRTCClient

- All Implemented Interfaces:

      public class IMLibRTCClient

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `public interface` | `IMLibRTCClient.RTCRoomActionListener` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static IMLibRTCClient` | `getInstance()` |
    `void` | `OnServiceConnected(IHandler mLibHandler)` |
    `void` | `OnServiceDisconnected()` |
    `static void` | `setRtcRoomActionListener(IMLibRTCClient.RTCRoomActionListener roomActionListener)` |
    `void` | `addNavigationObserver(NavigationObserver navigationObserver)` |
    `String` | `getVoIPInfo()` |
    `void` | `requestNav(String appKey, String token, boolean notify, String reason)` | 刷新IM Nav，来重新获取导航jwt
    `String` | `getNavJWT()` |
    `String` | `getNavPreferenceValue(String navPreferenceKey)` |
    `void` | `exitRTCRoom(String roomId, IRongCoreCallback.OperationCallback callback)` |
    `void` | `getRTCUsers(String roomId, int order, IRongCoreRTCCallback.IRTCDataCallback callback)` |
    `void` | `getRTCUserData(String roomId, int order, IRongCoreRTCCallback.IRTCDataCallback callback)` |
    `void` | `sendRTCPing(String roomId, IRongCoreCallback.OperationCallback callback)` |
    `void` | `setUseRTCOnly(IRongCoreCallback.ResultCallback<Boolean> callback)` |
    `void` | `rtcPutInnerDatum(String roomId, int type, String key, String value, String objectName, String content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `rtcPutOuterDatum(String roomId, int type, String key, String value, String objectName, String content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `rtcDeleteInnerData(String roomId, int type, Array<String> keys, String objectName, String content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `rtcDeleteOuterData(String roomId, int type, Array<String> keys, String objectName, String content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `rtcGetInnerData(String roomId, int type, Array<String> keys, IRongCoreRTCCallback.IRtcIODataCallback callback)` |
    `void` | `rtcGetOuterData(String roomId, int type, Array<String> keys, IRongCoreRTCCallback.IRtcIODataCallback callback)` |
    `void` | `joinRTCRoomAndGetData(String roomId, IRongCoreRTCCallback.IRTCJoinRoomCallback callback)` |
    `void` | `joinRTCRoomAndGetData(String roomId, int roomType, int broadcastType, String key, String value, IRongCoreRTCCallback.IRTCJoinRoomCallbackEx<Array<Object>> callback)` |
    `void` | `getRTCConfig(String model, String osVersion, long timestamp, IRongCoreRTCCallback.IRTCConfigCallback callback)` |
    `void` | `getRTCConfig(String model, String osVersion, long timestamp, String sdkVersion, IRongCoreRTCCallback.IRTCConfigCallback callback)` |
    `void` | `getRTCToken(String roomId, int roomType, int mediaType, IRongCoreCallback.ResultCallback<String> resultCallback)` |
    `void` | `setRTCUserState(String roomId, String state, IRongCoreCallback.OperationCallback callback)` |
    `void` | `solveServerHosts(String host, IRongCoreCallback.ResultCallback<List<String>> callback)` |
    `void` | `setRTCUserData(String id, int type, HashMap data, String objectName, String content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `getRTCUserData(String roomId, List<String> userIds, IRongCoreRTCCallback.IRTCDataCallback callback)` |
    `void` | `sendRTCDirectMessage(String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, boolean isFilterBlackList, IRongCoreCallback.ISendMessageCallback callback)` | 发送 RTC 定向消息, 不在房间的人也能收到消息
    `void` | `rtcSetUserResource(String roomId, Array<RTCStatusDate> kv, String objectName, Array<RTCStatusDate> content, IRongCoreCallback.OperationCallback callback)` |
    `void` | `SendRTCLiveInvitation(String roomId, String anchorId, String peerRoomId, String inviteInfo, String sessionId, int timeout, IRongCoreCallback.OperationCallback callback)` |
    `void` | `CancelRTCLiveInvitation(String roomId, String anchorId, String peerRoomId, String inviteInfo, String sessionId, IRongCoreCallback.OperationCallback callback)` |
    `void` | `AnswerRTCLiveInvitation(String roomId, int answer, String anchorId, String peerRoomId, String sessionId, String content, String key, String value, IRongCoreCallback.OperationCallback callback)` |
    `void` | `HangupRTCLiveInvitation(String roomId, String peerRoomId, String sessionId, String content, Array<String> keys, IRongCoreCallback.OperationCallback callback)` |
    `void` | `SetRTCHeartbeatListener(Stub listener)` |
    `void` | `SetRTCHeartbeatListenerEx(Object listenObject)` |
    `void` | `SendRTCHeartbeat(Array<String> roomId, int timeout)` |
    `void` | `RTCSignalingByDefaultTimeout(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, IRongCoreCallback.ResultCallback<Array<byte>> resultCallback)` |
    `void` | `RTCSignaling(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, int timeout, IRongCoreCallback.ResultCallback<Array<byte>> resultCallback)` |
    `void` | `CancelRTCSignaling()` |
    `void` | `SetRTCRoomEventListener(Stub listener)` |
    `boolean` | `isGzipEnabled()` | Http 请求是否开启 Gzip 压缩

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

  - ### Method Detail

    - #### getInstance

           static IMLibRTCClient getInstance()

    - #### OnServiceConnected

           void OnServiceConnected(IHandler mLibHandler)

    - #### OnServiceDisconnected

           void OnServiceDisconnected()

    - #### setRtcRoomActionListener

           static void setRtcRoomActionListener(IMLibRTCClient.RTCRoomActionListener roomActionListener)

      Parameters:
        `roomActionListener` - 监听对象

    - #### addNavigationObserver

           void addNavigationObserver(NavigationObserver navigationObserver)

    - #### getVoIPInfo

           String getVoIPInfo()

    - #### requestNav

           void requestNav(String appKey, String token, boolean notify, String reason)

      刷新IM Nav，来重新获取导航jwt

    - #### getNavJWT

           String getNavJWT()

    - #### getNavPreferenceValue

           String getNavPreferenceValue(String navPreferenceKey)

    - #### exitRTCRoom

           void exitRTCRoom(String roomId, IRongCoreCallback.OperationCallback callback)

    - #### getRTCUsers

           void getRTCUsers(String roomId, int order, IRongCoreRTCCallback.IRTCDataCallback callback)

    - #### getRTCUserData

           void getRTCUserData(String roomId, int order, IRongCoreRTCCallback.IRTCDataCallback callback)

    - #### sendRTCPing

           void sendRTCPing(String roomId, IRongCoreCallback.OperationCallback callback)

    - #### setUseRTCOnly

           void setUseRTCOnly(IRongCoreCallback.ResultCallback<Boolean> callback)

    - #### rtcPutInnerDatum

           void rtcPutInnerDatum(String roomId, int type, String key, String value, String objectName, String content, IRongCoreCallback.OperationCallback callback)

    - #### rtcPutOuterDatum

           void rtcPutOuterDatum(String roomId, int type, String key, String value, String objectName, String content, IRongCoreCallback.OperationCallback callback)

    - #### rtcDeleteInnerData

           void rtcDeleteInnerData(String roomId, int type, Array<String> keys, String objectName, String content, IRongCoreCallback.OperationCallback callback)

    - #### rtcDeleteOuterData

           void rtcDeleteOuterData(String roomId, int type, Array<String> keys, String objectName, String content, IRongCoreCallback.OperationCallback callback)

    - #### rtcGetInnerData

           void rtcGetInnerData(String roomId, int type, Array<String> keys, IRongCoreRTCCallback.IRtcIODataCallback callback)

    - #### rtcGetOuterData

           void rtcGetOuterData(String roomId, int type, Array<String> keys, IRongCoreRTCCallback.IRtcIODataCallback callback)

    - #### joinRTCRoomAndGetData

           void joinRTCRoomAndGetData(String roomId, IRongCoreRTCCallback.IRTCJoinRoomCallback callback)

    - #### joinRTCRoomAndGetData

           void joinRTCRoomAndGetData(String roomId, int roomType, int broadcastType, String key, String value, IRongCoreRTCCallback.IRTCJoinRoomCallbackEx<Array<Object>> callback)

    - #### getRTCConfig

          @Deprecated() void getRTCConfig(String model, String osVersion, long timestamp, IRongCoreRTCCallback.IRTCConfigCallback callback)

    - #### getRTCConfig

           void getRTCConfig(String model, String osVersion, long timestamp, String sdkVersion, IRongCoreRTCCallback.IRTCConfigCallback callback)

    - #### getRTCToken

           void getRTCToken(String roomId, int roomType, int mediaType, IRongCoreCallback.ResultCallback<String> resultCallback)

    - #### setRTCUserState

           void setRTCUserState(String roomId, String state, IRongCoreCallback.OperationCallback callback)

    - #### solveServerHosts

           void solveServerHosts(String host, IRongCoreCallback.ResultCallback<List<String>> callback)

    - #### setRTCUserData

           void setRTCUserData(String id, int type, HashMap data, String objectName, String content, IRongCoreCallback.OperationCallback callback)

    - #### getRTCUserData

           void getRTCUserData(String roomId, List<String> userIds, IRongCoreRTCCallback.IRTCDataCallback callback)

    - #### sendRTCDirectMessage

           void sendRTCDirectMessage(String targetId, MessageContent content, Array<String> userIds, String pushContent, String pushData, SendMessageOption option, boolean isFilterBlackList, IRongCoreCallback.ISendMessageCallback callback)

      发送 RTC 定向消息, 不在房间的人也能收到消息

      Parameters:
        `targetId` - 房间Id
        `content` - 消息内容
        `userIds` - 消息接收者
        `pushContent` - 推动 content
        `pushData` - 推送 data
        `option` - 是否 voip 推送
        `isFilterBlackList` - 是否过滤黑名单, 单聊过滤,群聊不过滤
        `callback` - 回调

    - #### rtcSetUserResource

           void rtcSetUserResource(String roomId, Array<RTCStatusDate> kv, String objectName, Array<RTCStatusDate> content, IRongCoreCallback.OperationCallback callback)

    - #### SendRTCLiveInvitation

           void SendRTCLiveInvitation(String roomId, String anchorId, String peerRoomId, String inviteInfo, String sessionId, int timeout, IRongCoreCallback.OperationCallback callback)

    - #### CancelRTCLiveInvitation

           void CancelRTCLiveInvitation(String roomId, String anchorId, String peerRoomId, String inviteInfo, String sessionId, IRongCoreCallback.OperationCallback callback)

    - #### AnswerRTCLiveInvitation

           void AnswerRTCLiveInvitation(String roomId, int answer, String anchorId, String peerRoomId, String sessionId, String content, String key, String value, IRongCoreCallback.OperationCallback callback)

    - #### HangupRTCLiveInvitation

           void HangupRTCLiveInvitation(String roomId, String peerRoomId, String sessionId, String content, Array<String> keys, IRongCoreCallback.OperationCallback callback)

    - #### SetRTCHeartbeatListener

           void SetRTCHeartbeatListener(Stub listener)

    - #### SetRTCHeartbeatListenerEx

           void SetRTCHeartbeatListenerEx(Object listenObject)

    - #### SendRTCHeartbeat

           void SendRTCHeartbeat(Array<String> roomId, int timeout)

    - #### RTCSignalingByDefaultTimeout

           void RTCSignalingByDefaultTimeout(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, IRongCoreCallback.ResultCallback<Array<byte>> resultCallback)

    - #### RTCSignaling

           void RTCSignaling(String roomId, String signalingName, boolean isQuery, Array<byte> pbBuffer, int timeout, IRongCoreCallback.ResultCallback<Array<byte>> resultCallback)

    - #### CancelRTCSignaling

           void CancelRTCSignaling()

    - #### SetRTCRoomEventListener

           void SetRTCRoomEventListener(Stub listener)

    - #### isGzipEnabled

           boolean isGzipEnabled()

      Http 请求是否开启 Gzip 压缩

      Returns:

        是否开启 Gzip，默认 false