Android SDK 使用手冊__使用SDK調用已開放API_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-23 16:04:20
上一篇:
Android SDK 使用指南__SDK_API 網關-阿裏雲
下一篇:
OBJECTC SDK 使用手冊__使用SDK調用已開放API_SDK_API 網關-阿裏雲
接入後HTTPS異常(SNI問題)__排錯手冊_Web 應用防火牆-阿裏雲
更換操作係統__實例_用戶指南_雲服務器 ECS-阿裏雲
日誌清洗最佳實踐__最佳實踐_業務實時監控服務 ARMS-阿裏雲
身份證識別__API介紹_文字識別_人工智能圖像類-阿裏雲
阿裏雲發布神龍雲服務器 宣稱可實現超強計算能力
高防上傳HTTPS證書出現“參數格式錯誤”報錯的解決辦法__問題排查_產品常見問題_DDoS 高防IP-阿裏雲
子訂單信息__數據類型_API文檔_域名-阿裏雲
NextHopItemType__數據類型_API 參考_雲服務器 ECS-阿裏雲
使用Shell/MR時的常見問題___常見問題_大數據開發套件-阿裏雲
用戶操作限製___售後支持計劃_支持計劃-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲