Android Mobile 身分驗證 SDK - Amazon Location Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Android Mobile 身分驗證 SDK

這些公用程式可協助您從 Android 應用程式進行 Amazon Location Service API呼叫時進行身分驗證。這在將 Amazon CognitoAPI 金鑰用作身分驗證方法時特別有用。

Android Mobile 身分驗證SDK可在 github 上取得:Amazon Location Service Mobile Authentication SDK for Android 。此外,行動身分驗證SDK和 AWS SDK都可以在 AWS Maven 儲存庫 上使用。

安裝

若要使用行動身分驗證 SDK,請將下列匯入陳述式新增至 Android Studio 中的build.gradle檔案。

implementation("software.amazon.location:auth:0.0.1") implementation("com.amazonaws:aws-android-sdk-location:2.72.0")

驗證函數

驗證協助程式SDK具有下列函數:

  • authHelper.authenticateWithApiKey("My-Amazon-Location-API-Key"): LocationCredentialsProvider:此函數會傳回已LocationCredentialsProvider初始化以使用API金鑰。

  • authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id"): LocationCredentialsProvider:此函數會傳回已LocationCredentialsProvider初始化以使用 Amazon Cognito 身分集區。

用量

若要在程式碼SDK中使用 ,請匯入下列類別:

import com.amazonaws.services.geo.AmazonLocationClient import software.amazon.location.auth.AuthHelper import software.amazon.location.auth.LocationCredentialsProvider

建立身分驗證協助程式和位置用戶端提供者執行個體時,有兩個選項。您可以使用 Amazon Location API金鑰Amazon Cognito建立執行個體。

  • 若要使用 Amazon Location API Key 建立身分驗證協助程式執行個體,請宣告協助程式類別,如下所示:

    var authHelper = AuthHelper(applicationContext) var locationCredentialsProvider : LocationCredentialsProvider = authHelper.authenticateWithApiKey("My-Amazon-Location-API-Key")
  • 若要使用 Amazon Cognito 建立身分驗證協助程式執行個體,請宣告協助程式類別,如下所示:

    var authHelper = AuthHelper(applicationContext) var locationCredentialsProvider : LocationCredentialsProvider = authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id")

您可以使用位置憑證提供者建立 Amazon Location 用戶端執行個體,並呼叫 Amazon Location 服務。下列範例會搜尋靠近指定緯度和經度的位置。

var locationClient = authHelper.getLocationClient(locationCredentialsProvider.getCredentialsProvider()) var searchPlaceIndexForPositionRequest = SearchPlaceIndexForPositionRequest().withIndexName("My-Place-Index-Name").withPosition(arrayListOf(30.405423, -97.718833)) var nearbyPlaces = locationClient.searchPlaceIndexForPosition(searchPlaceIndexForPositionRequest)