AIMPaaS的客户端SDK支持目前主流的操作系统,采用多账户模型支持同时登录和操作多个账户,内置同步协议,支持本地存储和本地搜索。本文介绍了客户端SDK的特性和能力。

多系统支持

AIMSDK支持目前主流的操作系统,包括移动端的Android、iOS,以及桌面端的Windows、Mac,并提供相应的Java、OC、C++接口,方便开发者集成。

操作系统 支持的系统版本 开发语言
Android
  • Android:4.1+
  • API level:≥16
  • arm:v7i、v7a、v8a
  • NDK:18b
Java
iOS
  • iOS:≥8.0
  • Xcode:11.2.1
Objective-C
Windows
  • Window:XP +
  • Visual Studio:2017
C++
MacOS OS X:≥10.12 Objective-C

AIMSDK内核使用C++语言进行开发,确保了多端一致,以及极致的性能体验。

多账户模型

  • AIMSDK支持同时登录和操作多个账户,底层共享一个长连接,这个长连接负责所有SDK服务所需要的网络请求;多个账户使用多个虚拟连接隔离。
  • 每个DPSManager对应一个账户,在创建DPSManager时通过参数与用户进行绑定,最多支持10个账号同时登录。
  • DPSEngine用于管理所有用户实例。
  • DPSManager用于管理用户相关的基础服务。
  • AIMModule用于管理会话、消息、搜索服务等,通过AIMModule获取对应用户的对应服务,用于收发消息等操作。
多账户模型

同步及本地存储

  • AIMSDK内置同步协议,登录完成后,SDK自动从服务端同步最近活跃的会话及每条会话最后一条新消息,加快端侧首屏会话列表展示。
  • 在本设备创建、收发的会话及消息同时存入本地数据库,便于下次展示时从本地获取。无需服务端请求,以减少网络带宽及降低服务端压力,同步协议自动从服务端补齐本地缺失的数据及数据更新,确保本地数据的正确性。
  • 应用客户端无需额外存储会话和消息信息,也无需主动从服务端同步信息,通过AIMSDK提供的接口获取会话和消息可确保本地数据与服务端同步,以及多端数据一致。
同步及本地存储

本地搜索

AIMSDK依赖本地存储能力,提供了本地搜索服务,不仅支持纯文本消息的分词搜索,也可对经特殊处理的非文本消息进行搜索。支持如下搜索能力:
  • 搜索纯文本消息
  • 搜索消息并按照会话进行聚合
  • 搜索群名称
  • 搜索内容分页
  • 自定义搜索非文本消息
  • 按照类型搜索消息