网关是连接客户端与服务端的桥梁,客户端通过网关来访问后台服务接口。
通过使用网关,您可以实现以下目的:
通过动态代理的方式,封装客户端和服务端之间的通讯。
如果服务端和客户端定义了一致的接口,可由服务端自动生成代码并导出给客户端使用。
对
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
结果码做相应处理,错误码详情参见 网关结果码说明。
相关链接
文档内容是否对您有帮助?