iOS 用 Mobile Authentication SDK - Amazon Location Service

iOS 用 Mobile Authentication SDK

これらのユーティリティは、iOS アプリケーションから Amazon Location Service API コールを行うときの認証に役立ちます。特に、認証方法として Amazon Cognito または API キー を使用する場合に便利です。

iOS 用 Mobile Authentication SDK は GitHub で Amazon Location Service Mobile Authentication SDK for iOS として公開されています。

インストール

Xcode プロジェクトに SDK をインストールする:

  1. [ファイル] に移動し、XCode プロジェクトで [パッケージの依存関係を追加] を選択します。

  2. 検索バーにパッケージ URL として https://github.com/aws-geospatial/amazon-location-mobile-auth-sdk-ios/ を入力し、Enter キーを押します。

  3. amazon-location-mobile-auth-sdk-ios パッケージを選択し、[パッケージを追加] を押します。

  4. AmazonLocationiOSAuthSDK パッケージ製品を選択し、[パッケージを追加] を押します。

認証関数

認証ヘルパー SDK には以下の関数があります。

  • authHelper.authenticateWithApiKey("My-Amazon-Location-API-Key"): LocationCredentialsProvider: この関数は、API キーで動作するように初期化された LocationCredentialsProvider を返します。

  • authHelper.authenticateWithCognitoIdentityPool("My-Cognito-Identity-Pool-Id"): LocationCredentialsProvider: この関数は、Amazon Cognito アイデンティティプールで動作するように初期化された LocationCredentialsProvider を返します。

使用方法

Mobile Authentication SDK を使用するには、対象のアクティビティに以下のステートメントを追加します。

import AmazonLocationiOSAuthSDK import AWSLocationXCF

認証ヘルパーと位置情報プロバイダーのクライアントインスタンスを作成するときには、2 つのオプションがあります。Amazon Location API キーまたは Amazon Cognito を使用してインスタンスを作成できます。

  • Amazon Location API キーを使用して認証ヘルパーのインスタンスを作成するには、以下のようにヘルパークラスを宣言します。

    let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithAPIKey(apiKey: "My-Amazon-Location-API-Key", region: "account-region")
  • Amazon Cognito を使用して認証ヘルパーインスタンスを作成するには、以下のようにヘルパークラスを宣言します。

    let authHelper = AuthHelper() let locationCredentialsProvider = authHelper.authenticateWithCognitoUserPool(identityPoolId: "My-Amazon-Location-API-Key", region: "account-region")

位置情報・認証情報プロバイダーを使用して Amazon Location クライアントインスタンスを作成し、Amazon Location Service を呼び出すことができます。以下の例では、指定した緯度と経度の近くにある場所を検索します。

let locationClient = AWSLocation.default() let searchPlaceIndexForPositionRequest = AWSLocationSearchPlaceIndexForPositionRequest()! searchPlaceIndexForPositionRequest.indexName = "My-Place-Index-Name" searchPlaceIndexForPositionRequest.position = [30.405423, -97.718833] let nearbyPlaces = locationClient.searchPlaceIndex(forPosition: searchPlaceIndexForPositionRequest)