本文介绍如何快速将数据同步组件接入到 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);
        }
    }支持 TLS
在 manifest 中增加 meta-data mss_use_tls 值为 YES,配置非 443 端口也可以支持 TLS 建连。

443 端口依然默认通过 TLS 建连。