ArcGIS Maps SDK for Kotlin (バージョン 200.x) を使用して開発したアプリケーションを配布する場合に必要なライセンス認証の手順を説明します。
ArcGIS Location Platform のロケーションサービスを使用する場合は、アプリで API キーを設定する必要があります。API キーの詳細はAPI キーの取得を、APIキーの設定方法はアプリの作成のAPI キーを設定するをご覧ください。
開発したアプリケーションのライセンス認証のステップは以下の通りです。
ArcGIS Maps SDK for Kotlin には Lite、Basic、Standard の 3 つのライセンス レベルと Analysis エクステンションがあります。開発したアプリケーションが使用する機能に応じて、適切なライセンス レベルを選択してください。
各ライセンスで利用可能な機能の概要は以下の表をご参照ください。
ライセンス | 利用できる機能 |
---|---|
Lite | ・地図表示(2D/3D) ・フィーチャの表示/検索 ・フィーチャのオンライン/オフライン編集(ArcGIS Online/ArcGIS Enterprise のパブリックなフィーチャ サービス、ArcGIS Location Platform のフィーチャサービス) ・ルート検索/到達圏解析/最寄り施設検索 ・住所検索/リバース ジオコーディング ・ユーティリティ ネットワークのトレース |
Basic | ・Lite ライセンスで利用できるすべての機能 ・フィーチャのオンライン/オフライン編集(ArcGIS Online/ArcGIS Enterprise のセキュアなフィーチャ サービス) ・モバイル ジオデータベースの編集 |
Standard | ・Basic ライセンスで利用できるすべての機能 ・シェープファイルの表示/編集 ・GeoPackage の表示/編集 ・KML(ローカル ファイル)の表示/編集 ・ラスター データの表示/解析 ・航海用電子海図(ENC)の表示 ・3D 解析 |
Analysis Extension | ・Standard ライセンスで利用可能なエクステンション ・オフラインでの到達圏解析/最寄り施設検索 |
Advanced Editing Extension | ・Basic ライセンス以上で利用可能なエクステンション・ブランチ バージョン ジオデータベースに新しいバージョンの作成・ブランチ バージョン ジオデータベースのバージョンのフィーチャ/テーブルの編集・ユーティリティ ネットワークのネットワーク フィーチャの編集・ユーティリティ ネットワークのトポロジーの検証 |
ライセンスの詳細はESRIジャパン製品ページをご参照ください。
ライセンスの認証は次の2つの方法があります。
ライセンスキーを使用した認証
指定ユーザーによるアカウント認証
ユーザータイプ | ライセンスレベル |
---|---|
Viewer | Lite |
Contributor / Mobile Worker | Basic |
Creator | Standard |
Professional / Professional Plus | Advanced ※1 |
※1 ArcGIS Maps SDK for Kotlin には Advanced ライセンスはありません。
ライセンスキーを使用した認証
ArcGIS Online / Portal for ArcGIS へのログインによる認証
ライセンスキーを使用した認証
ArcGIS Online / Portal for ArcGIS へのログインによる認証
ライセンスキーを使用した認証
ArcGIS Online / Portal for ArcGIS へのログインによる認証
注意:この認証は、Portal for ArcGIS をご利用の場合は、ArcGIS Enterprise 10.7 以前のバージョンでは使用できません。
ライセンスキーを使用した認証
ArcGIS Online / Portal for ArcGIS へのログインによる認証
注意:この認証は、Portal for ArcGIS をご利用の場合は、ArcGIS Enterprise 10.7 以前のバージョンでは使用できません。
ライセンスキーを使用した認証
Portal for ArcGIS へのログインによる認証
注意:この認証は、ArcGIS Enterprise 11.1 以前のバージョンでは使用できません。
以下の認証に応じた作業を行ってください。
ArcGIS Runtime Lite のライセンスキーを Esri Developer のサイトから取得し、取得したライセンスキーを利用して、アプリケーションを Lite ライセンスで認証することができます。 最初に以下の手順で Lite レベルのライセンスキーを取得します。
Get a license ページにアクセスします
表示されたライセンスキーをコピーします
次に、アプリケーションのコードにおいて SDK の機能が呼び出される前に、以下のコードを使用してアプリケーションにコピーしたライセンスキーを設定します。
// 取得したライセンス文字列でアプリのライセンスを設定します
val licenseKey = LicenseKey.create("runtimelite,1000,rud#########,day-month-year,####################")
?: return showError("Null license key. ")
val licenseResult = ArcGISEnvironment.setLicense(licenseKey)
ArcGIS Runtime の配布パックを購入し、取得したライセンスキーを利用して、アプリケーションを認証することができます。
ArcGIS Runtime の配布パックの購入についてはESRIジャパンにお問合せください。ArcGIS Runtime の配布パックをご購入頂いた場合、ESRIジャパンよりライセンスキーをメールにてお送りします。
アプリケーションのコードにおいて ArcGIS Runtime SDK の機能が呼び出される前に、以下のコードを使用して配布パックのライセンスキーを設定します。
// 取得したライセンス文字列でアプリのライセンスを設定します
val licenseKey = LicenseKey.create("runtimestandard,1000,rud#########,day-month-year,####################")
?: return showError("Null license key. ")
val licenseResult = ArcGISEnvironment.setLicense(licenseKey)
Extension ライセンスを認証する場合は以下のコードを使用します。
// 基本ライセンスとエクステンション ライセンスのリストを設定します
val licenseKey = LicenseKey.create("runtimestandard,1000,rud#########,day-month-year,####################")
?: return showError("Null license key. ")
val licenseExtensions = listOf(
LicenseKey.create("runtimeanalysis,1000,rud#########,day-month-year,####################")
?: return showError("Null license key. ")
)
val licenseResult = ArcGISEnvironment.setLicense(licenseKey, licenseExtensions)
アプリケーションの実行時に、アプリケーションを利用するユーザーが保有する ArcGIS Online 組織向けプランもしくは Portal for ArcGIS の指定ユーザー アカウントを使用して ArcGIS Online / Portal for ArcGIS にログインすることで、ライセンスを取得することができます。
アプリケーションのコードにおいて SDK の機能が呼び出される前に、ライセンスを取得・設定します。以下のコードは、ArcGIS Online の指定ユーザーのライセンスを取得する方法を示しています。
認証方法の詳細については、「How to use user authentication in your app(英語)」や「Security and authentication(英語)」も併せてご覧ください。
// クレデンシャルを使用してポータル(ArcGIS Online)に接続します。
val portal = Portal.arcGISOnline(Portal.Connection.Authenticated)
lifecycleScope.launch {
portal.load().getOrElse { error ->
return@launch showError("Error loading portal: ${error.message}")
}
// ポータルから LicenseInfo を取得します
val licenseInfo:LicenseInfo = portal.fetchLicenseInfo().getOrElse { error ->
return@launch showError("Error fetching licenseInfo: ${error.message}")
}
// ライセンス情報を使用してアプリのライセンスを認証します
val licenseResult = ArcGISEnvironment.setLicense(licenseInfo)
showLicenseResult(licenseResult)
}
ライセンス情報をローカルストレージに保存した場合、保存したライセンス情報を使用して、オフライン環境でアプリを起動してライセンスを取得できます。ストレージからライセンスを取得し、アプリを認証します。
// LicenseInfo を JSON 形式のテキストとして取得します
val licenseJson = licenseInfo.toJson()
// ... テキスト文字列をローカルに保存します ...
// (起動時) ... デバイスに保存されているライセンス JSON を取得します ...
// 保存した JSON 文字列からライセンス情報を設定します
val licenseInfoFromJson = LicenseInfo.fromJsonOrNull(licenseJson)