SDK 能力封装

本章介绍能力封装,阐述定位、推送、对讲、日志能力详细封装思路及过程。

功能列表

package_qchat_001.png

SDK 设计思路

  1. SDK 主框架与能力框架分离 SDK 主框架负责 SDK 本身的生命周期(初始化,销毁),同时提供回调接口贯穿于整个 SDK, 以便调用方能够更好地接受 SDK 的反馈,如:成功与错误事件,app_key 验证失败等。 能力框架各自也有自身的生命周期(初始化,启动,暂停,销毁),他们实现统一的接口, 以插件的形式接入到 SDK 主框架中,同时暴露出相关接口供调用方使用。

  2. 目前能够提供定位、推送以及对讲三种能力。

范例:可在应用的 Application 类中使用如下语句对 SDK 及指定的相关插件进行初始化:

SDK.with(this, new DefaultSdkInitCallback() {
            @Override
            public void onError(Throwable t) {
                super.onError(t);

                Logger.e("Error: %s", t.getMessage());
            }

            @Override
            public void onSucceed() {
                super.onSucceed();

                Logger.i("Succeed to init the SDK.");
            }
        }, new LocationPlugin(), new PushPlugin(), new QChatPlugin());

同样,如果某些插件需要初始化参数,可通过相关的 Option 类来传入插件类中,以推送为例。

new PushPlugin(PushPluginOptions.create("192.168.100.232", 8555).build());

SDK 初始化时序

package_001.png