本文介绍如何快速将数据同步组件接入到 Android 客户端。
说明 自 2020 年 6 月 28 日起,mPaaS 停止维护 10.1.32 基线。请使用 10.1.68 或 10.1.60 系列基线。可以参考 mPaaS 10.1.68 升级指南 或 mPaaS 10.1.60 升级指南 进行基线版本升级。 |
目前,数据同步组件支持 原生 AAR 接入 和 组件化接入 两种接入方式。
接入过程分为两步:
前置条件
您已接入工程到 mPaaS。
若采用原生 AAR 方式接入,需要先 将 mPaaS 添加到您的项目中。
若采用组件化方式接入,需要先完成 组件化接入流程。
添加 SDK
原生 AAR 方式
参考 AAR 组件管理,通过 组件管理(AAR) 在工程中安装 同步服务(SYNC)组件。
组件化方式
在 Portal 和 Bundle 工程中通过 组件管理 安装 同步服务(SYNC) 组件。
更多信息,请参考 管理组件依赖 > 增删组件依赖。
使用 SDK
在 10.1.32 及以上版本基线中,mPaaS 中间层的 MPSync
类封装了数据同步组件所有 API,通过调用 MPSync
对象即可实现数据同步的所有功能。
您可以通过下表快速了解数据同步的相关 API。更多关于 API 的详细信息,参见 Android 接口说明。
接口 | 接口说明 |
setup(Application application) | 用于初始化数据同步依赖的基础服务。必须在 |
initialize(Context context) | 用于初始化接口和数据同步服务。 |
appToForeground() | 用于让客户端 SDK 感知到当前 App 已经启动,使其建立与服务器的网络连接。每次 App 回前台时调用。 |
appToBackground() | 用于让客户端 SDK 感知到当前 App 已经回到后台,使其断开与服务器的网络连接。每次 App 压后台时调用。 |
updateUserInfo(String sessionId) | 用于登录信息 userId/sessionId 有变化时调用。至少调用一次。 |
clearUserInfo() | 用于用户登出。 |
registerBiz(String bizType, ISyncCallback syncCallback) | 用于注册一个接收业务数据的 |
unregisterBiz(String bizType) | 用于反注册指定同步配置。在获取到同步推送的数据后,客户端 SDK 则不会回调 |
reportMsgReceived(SyncMessage syncMessag) | 用于在 |
isConnected() | 用于检查当前数据同步服务是否正常。 |
代码示例
该示例通过在 10.1.32 基线版本 SDK 进行开发。在示例应用中设置了一个按钮,通过点按按钮动作获取设备 ID,再根据设备 ID,在控制台采用指定设备推送的方式向设备推送同步数据。在示例中,同步标识为bizType
。
该示例仅用于演示调用数据同步 API 的方法,并不能作为数据同步的最佳实践。您可以在 获取代码示例 页面中下载数据同步组件的最佳实践代码。
public void button1Clicked(View view)
{
//使用 getUtdid 方法获取设备 ID。
String utdid =UTDevice.getUtdid(MainActivity.this);
//在 Logcat 打印数据同步数据。
Log.e("=========",utdid);
//初始化接口和数据同步服务。
MPSync.initialize(MainActivity.this);
//注册接收业务数据的 callback。在获取到同步推送的数据后,回调 syncCallback。
MPSync.registerBiz("bizType",new SyncCallBackImpl());
//建立与服务器的网络连接。
MPSync.appToForeground();
}
public class SyncCallBackImpl implements ISyncCallback
{
@Override
public void onReceiveMessage(SyncMessage syncMessage) {
//在 Logcat 打印数据同步数据。
Log.e("=========",syncMessage.msgData);
//通知数据同步服务端接收同步数据成功。
MPSync.reportMsgReceived(syncMessage);
}
}