本文介紹如何快速將資料同步組件接入到 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 進行開發。在樣本應用中設定了一個按鈕,通過點按按鈕動作擷取裝置識別碼,再根據裝置識別碼,在控制台採用指定裝置推送的方式向裝置推送同步資料。在樣本中,同步標識為bizType
。
該樣本僅用於示範調用資料同步 API 的方法,並不能作為資料同步的最佳實務。您可以在 擷取程式碼範例 頁面中下載資料同步組件的最佳實務代碼。
public void button1Clicked(View view)
{
//使用 getUtdid 方法擷取裝置識別碼。
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);
}
}