338
阿里云
Android SDK 使用指南__SDK_API 网关-阿里云
1. 前言
本文档介绍了API网关产品Android SDK的使用方式。
该SDK适用于在移动端调用已接入API网关的私有、公开API以及目前在数据市场上售卖的API。
2. 安装API网关 Android SDK
2.1 下载SDK
在API网关控制台左侧找到SDK及示例菜单,点击前往SDK下载页面。
根据页面提示查看使用手册或者前往下载SDK。需要注意区分代码示例及SDK,代码示例适用于不准备使用SDK的用户参考代码完成API调用工作,而SDK可以帮助用户简化API调用工作。

点击前往下载SDK链接后,浏览器会打开新页面,该页面为阿里云移动服务的SDK下载页面。在下载页面上勾选API网关,然后点击下载Android版按钮,根据页面提示下载到API网关的Android SDK。

2.2 在工程中依赖SDK
解压下载到的SDK压缩包,将解压出的*.jar文件放到Android工程的指定目录中,以Android Studio为例:

将alicloud-android-apigateway-sdk-version.jar放到应用工程的libs目录下,并在对应工程的build.gradle文件中添加如下内容:
dependencies {// 添加API网关android依赖, 从下载的sdk.zip中找到jar并拷贝到当前工程的libs目录下。根据实际文件名填写,version仅为示意。compile files('libs/alicloud-android-apigateway-sdk-version.jar')// 添加三方HTTP请求实现,建议使用3.4.1及以上版本compile 'com.squareup.okhttp3:okhttp:3.4.1'}
3. 应用程序初始化
在使用Android SDK调用API前,需要对SDK的上下文进行一些初始化配置,如权限声明、传递应用上下文、访问控制等。
3.1 权限声明
在AndroidManifest.xml中添加如下内容:
<uses-permission android:name="android.permission.INTERNET" />
3.2 AppKey配置
3.2.1 非安全方式配置AppKey及AppSecret
强烈建议只在开发测试阶段使用非安全的方式配置AppKey及AppSecret。强烈建议在控制台中为移动应用创建新的应用,不和其他端上应用共用AppKey。
从控制台中获取到应用的AppKey及AppSecret,并在AndroidManifest.xml中添加如下内容:
<application><meta-data android:name="com.alibaba.apigateway.appKey" android:value="appKey" /><meta-data android:name="com.alibaba.apigateway.appSecret" android:value="appSecret" /></application>
3.2.2 较安全地存储AppKey及AppSecret
请使用阿里云提供的移动安全产品,点击查看产品介绍。
通过使用安全存储功能将AppKey及AppSecret较安全地存储在移动应用端,点击查看使用文档。请按照上述使用文档联系移动安全产品将API网关所需要AppKey和AppSecret存放在安全图片中。
用户只需要按照上述文档依赖移动安全SDK并正确放置安全图片,API网关会自动从安全图片中获取所需数据。
3.3 SDK初始化
在应用初始化的时候添加SDK初始化代码。以下以MainActivity为例:
package ...;import ...;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate() {super.onCreate();// 初始化API网关SDKinitGatewaySdk();}private void initGatewaySdk() {// 初始化API网关ApiGatewayClient.init(getApplicationContext(), false);}}
注意,如果SDK依赖的AppKey及AppSecret已通过移动安全服务进行安全存储,请使用以下初始化代码:
ApiGatewayClient.init(getApplicationContext(), true);
4. SDK使用示例
4.1 调用API
同步调用:
以阿里云云市场售卖的阿里短信服务为例。
// 获取服务RpcService rpcService = ApiGatewayClient.getRpcService();ApiRequest apiRequest = new ApiRequest();// 设置请求地址、Path及MethodapiRequest.setAddress("https://sms.market.alicloudapi.com");apiRequest.setPath("/singleSendSms");apiRequest.setMethod(HttpMethod.GET);// 按照文档设置Query参数,支持设置Header参数、Form形式Body及二进制形式BodyapiRequest.addQuery("ParamString", "demo");apiRequest.addQuery("RecNum", "demo");apiRequest.addQuery("SignName", "demo");apiRequest.addQuery("TemplateCode", "demo");// 设置超时时间及其他apiRequest.setTimeout(3000);try {ApiResponse apiResponse = rpcService.call(apiRequest);// 处理apiResponse,以下为常用方法// RequestId// apiResponse.getRequestId();// Code// apiResponse.getCode();// ErrorMessage// apiResponse.getErrorMessage();// Response Content// apiResponse.getStringBody();// Response Headers// apiResponse.getHeaders();} catch (ApiInvokeException e) {// 处理异常}
异步回调:
以阿里云云市场售卖的身份证识别为例。
// 获取服务RpcService rpcService = ApiGatewayClient.getRpcService();final ApiRequest apiRequest = new ApiRequest();// 设置请求地址、Path及MethodapiRequest.setAddress("https://dm-51.data.aliyun.com");apiRequest.setPath("/rest/160601/ocr/ocr_idcard.json");apiRequest.setMethod(HttpMethod.POST);// 按照文档设置二进制形式Body,支持设置Query参数、Header参数、Form形式BodyapiRequest.setStringBody("JSON格式参数");// 设置支持自签等形式的证书,如果服务端证书合法请勿设置该值,仅在开发测试或者非常规场景下设置。apiRequest.setTrustServerCertificate(true);// 设置超时apiRequest.setTimeout(10000);rpcService.call(apiRequest, new ApiResponseCallback() {@Overridepublic void onSuccess(ApiResponse apiResponse) {// 处理apiResponse}@Overridepublic void onException(ApiInvokeException e) {// 处理异常}});
最后更新:2016-11-24 11:23:49
上一篇:
TrafficControlItem__数据类型_API_API 网关-阿里云
下一篇:
Android SDK 使用手册__使用SDK调用已开放API_SDK_API 网关-阿里云
DeleteRole__角色管理接口_RAM API文档_访问控制-阿里云
视频转码回调消息讲解___视频专区_媒体转码-阿里云
备案审核需要多长时间?__备案基础介绍_备案须知_备案-阿里云
消息通知__操作指南_批量计算-阿里云
快速安装__osscmd_常用工具_对象存储 OSS-阿里云
监控数据访问指南__监控服务_开发人员指南_对象存储 OSS-阿里云
ListEntitiesForPolicy__授权策略管理接口_RAM API文档_访问控制-阿里云
MySQL 中的数据是否可以放到云数据库 HybridDB 版进行分析__使用管理常见问题_产品相关问题_云数据库 HybridDB-阿里云
SetPasswordPolicy__安全设置接口_RAM API文档_访问控制-阿里云
流控策略与API绑定__流量控制相关接口_API_API 网关-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云