網關是串連用戶端與服務端的橋樑,用戶端通過網關來訪問後台服務介面。
通過使用網關,您可以實現以下目的:
通過動態代理的方式,封裝用戶端和服務端之間的通訊。
如果服務端和用戶端定義了一致的介面,可由服務端自動產生代碼並匯出給用戶端使用。
對
RpcException進行統一的異常處理,彈對話方塊、toast 訊息框等。
移動網關支援 原生 AAR 接入 和 組件化(Portal&Bundle)接入 兩種接入方式。
前置條件
若採用原生 AAR 方式接入,需要先 將 mPaaS 添加到專案。
若採用組件化方式接入,需要先完成 組件化接入流程。
添加 SDK
原生 AAR 方式
參考 AAR 組件管理,通過 組件管理(AAR) 在工程中安裝 移動網關 組件。
組件化(Portal&Bundle)方式
在 Portal 和 Bundle 工程中通過 組件管理 安裝 移動網關 組件。更多資訊,請參考 組件化方式接入流程。
初始化 mPaaS
如果您使用 原生 AAR 接入 ,您需要初始化 mPaaS。
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// mPaaS 初始化
MP.init(this);
}
}詳情請參考:初始化 mPaaS。
產生 RPC 代碼
當 App 在移動網關控制台接入後台服務後,進入 mPaaS 控制台,從左側導覽列選擇 移動網關 > API 管理 > 產生代碼,下載用戶端的 RPC 代碼。詳細說明參見 註冊 API 相關文檔。
下載的 RPC 代碼結構如下,包括 RPC 配置、request 模型和 response 模型。
調用 RPC
用戶端發起 PRC 調用。程式碼範例如下:
// 擷取 client 執行個體
RpcDemoClient client = MPRpc.getRpcProxy(RpcDemoClient.class);
// 佈建要求
GetIdGetReq req = new GetIdGetReq();
req.id = "123";
req.age = 14;
req.isMale = true;
// 發起 RPC 請求
try {
String response = client.getIdGet(req);
} catch (RpcException e) {
// 處理 RPC 請求異常
Log.i("RpcException", "code: " + e.getCode() + " msg: " + e.getMsg());
}RPC 調用異常會統一通過 RpcException 拋出來,可根據 RpcException 的 code 結果碼做相應處理,錯誤碼詳情參見 網關結果碼說明。