鸿蒙 IMLib-v1.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

    Constructors

    Methods

    • 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"}]}",
      }

      Parameters

      • rtcConf: Map<string, Object>

        rtc 配置

      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录制完成返回 falsertc 同样的逻辑音视频通话中返回 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