鸿蒙 IMLib-v26.8.0
    Preparing search index...

    Class IMLibExtensionModuleAbstract

    扩展模块协议,用于 SDK 内置模块的数据同步,例如将 IM 数据传给 RTC SDK

    要实现扩展需要满足如下
    1. 实现该抽象类
    2. 实现 ExtensionModuleTag 注解
    3. 对扩展类的构造要求如下,才能被正常创建
    3.1. 如果是单例类,必须实现 getInstance() 方法:建议
    3.2. 如果是普通类,必须实现无参的构造方法:不建议

    TS 判断一个类是否实现了 interface 比较难,但是判断是否实现了抽象类比较简单

    SDK 仅会加载内置的模块,如果三方需要想实现该功能,请联系融云

    1.2.0

    Index
    • IM SDK 已初始化完成

      Parameters

      • context: Context

        上下文

      • appKey: string

        AppKey

      • initOption: InitOption

        初始化配置

      Returns void

    • 连接开始。调用 connect 方法连接开始时触发

      Parameters

      • token: string

        使用的 IM token

      • deviceId: string

        设备 id,使用 aaid 当做 deviceID

      Returns void

    • 连接成功。调用 connect 方法连接成功时触发

      Parameters

      • userId: string

        当前用户 id

      Returns void

    • module 是否拦截该消息

      Parameters

      Returns boolean

      true: 由 module 处理该消息,IMLib 将不再处理该消息; false:module 不处理该消息,IMLib 将继续处理该消息

    • rtc 配置更新

      voipCallInfo 是导航下发的原始数据
      {
      "logServer" : "https://logServer",
      "dataCenter" : "BJ001",
      "jwtToken" : "jwtToken",
      "openGzip" : true|false,
      "voipCallInfo" : "{"strategy":1,"callEngine":[{"engineType":4,"mediaServer":"https://mediaServer","maxStreamCount":30,"wwise":1,"detectorManager":"https://detectorManager"}]}",
      "rtcAISwitch" : 0|1 // 1.9.0 新增字段
      }

      Parameters

      • rtcConf: Map<string, Object>

        rtc 配置

      Returns void

    • navi 数据加载成功

      Returns void

    • 连接状态发生变更,重连时的各种状态会触发该方法

      Parameters

      Returns void

    • 断开连接。用户主动调用 disconnect 方法时触发

      Parameters

      • isReceivePush: boolean

        是否接收推送

      Returns void

    • 将该模块的 SDK 信息返回 IMLib,可以同时返回多个 SDK 的版本号

      Returns Map<string, string>

      版本信息, key : SDK 名称; value : SDK 版本号

      SDK 名称必须和现有 iOS Android 的命名一致,不能随便写

      1.3.0

    • 应用切换到后台后被系统挂起

      Returns void

      1.4.3

    • 应用切换到前台

      Returns void

      1.4.3

    • 应用切换到后台

      Returns void

      1.4.3

    • 请求硬件资源是否被其他的 sdk 占用

      其他 sdk 内部实现:
      所有的实现该抽象类的 sdk,需要根据自己的实际情况返回对应的值
      例如 sdk 没有音视频录制的功能,直接返回 false
      例如 kit 在录制视频的时候,返回 true ;录制完成返回 false。rtc 同样的逻辑,音视频通话中返回 true,否则返回 false

      其他 sdk 调用 InnerEngineImpl.getInstance().isOnRequestHardwareResource() :
      返回 true 代表有其他 sdk 正在使用该硬件,调用方不能使用该硬件。false 代表没有 sdk 使用该硬件
      举例:
      kit 录制视频前调用该方法返回了 true,说明可能 rtc 正在音视频通话,那么 kit 需要给用户提示不能录制视频。
      rtc 发起音视频通话前调用该方法返回了 true,说明可能 kit 正在录制视频,那么 rtc 需要给用户提示不能开启音视频通话

      Parameters

      Returns boolean

      是否正常获取

      为了保证接口兼容,该方法默认实现,其他模块按需实现。

      1.7.1

    • 通知网络状态发生变化

      Parameters

      Returns void

      1.8.0