アプリケーション配布ガイド

API キーの設定

ArcGIS Platform のロケーションサービスを使用する場合は、アプリで API キーを設定する必要があります。API キーの詳細はAPI キーの取得を、APIキーの設定方法はアプリの作成のAPI キーを設定するをご覧ください。

ライセンス認証のステップ

開発したアプリケーションのライセンス認証のステップは以下の通りです。

  1. 使用するライセンスの選択
  2. ライセンスの認証方法
  3. ライセンスの認証

使用するライセンスの選択

ArcGIS Runtime SDK for .NET には Lite、Basic、Standard、Advanced の 4 つのライセンス レベルと Analysis エクステンションがあります。開発したアプリケーションが使用する機能に応じて、適切なライセンス レベルを選択してください。

各ライセンスで利用可能な機能の概要は以下の表をご参照ください。

ライセンス 利用できる機能
Lite ・地図表示(2D/3D)
・フィーチャの表示/検索
・フィーチャのオンライン/オフライン編集(パブリックなフィーチャ サービス)
・ルート検索/到達圏解析/最寄り施設検索
・住所検索/リバース ジオコーディング
Basic ・Lite ライセンスで利用できるすべての機能
・フィーチャのオンライン/オフライン編集(セキュアなフィーチャ サービス)
・モバイル ジオデータベースの編集
・ArcGIS Online/Portal for ArcGIS のコンテンツの編集
Standard ・Basic ライセンスで利用できるすべての機能
・シェープファイルの表示/編集
・GeoPackage の表示/編集
・KML(ローカル ファイル)の表示
・ラスター データの表示/解析
・航海用電子海図(ENC)の表示
・ローカル サーバーの標準的な機能(WPF API のみ)
Advanced ・Standard ライセンスで利用できるすべての機能
・ローカル サーバーの高度な機能(WPF API のみ)
Analysis Extension ・Standard ライセンス以上で利用可能なエクステンション
・オフラインでの到達圏解析/最寄り施設検索
・ArcGIS Desktop(Spatial/3D/Network エクステンション)で利用可能なジオプロセシング ツールの一部(WPF API のみ)

ライセンスの詳細はESRIジャパン製品ページをご参照ください。

ライセンスの認証方法

ライセンスの認証は次の2つの方法があります。

  1. ライセンスキーを使用した認証

    • ライセンスキーを使用した認証は、ArcGIS Runtime の配布パックを購入し、取得したライセンスキーを利用して、アプリケーションを認証します。
  2. 指定ユーザーによるアカウント認証

    • 指定ユーザーによるアカウント認証とは、ArcGIS Online または ArcGIS Enterprise の組織のメンバーである ArcGIS 組織アカウントを使用してログイン認証を行います。
    • ログインを行う指定ユーザーアカウントのタイプによって関連付けられたライセンスのレベルが異なり、また認証はランタイムアプリにコードを含める必要があります。

指定ユーザーのユーザータイプとライセンスレベルの対比表

■ ArcGIS Online または ArcGIS Enterprise バージョン 10.8 以降をご利用の場合

User Type Runtime Level
Viewer Lite
Editor / Field Worker Basic
Creator / GIS Professional Basic Standard ※1
GIS Professional Standard / GIS Professional Advanced Advanced ※1

※1 Standard/Advanced は ArcGIS Runtime (Android/iOS/.NET) 100.7 以降から対応しております。

■ ArcGIS Enterprise 10.7 以前をご利用の場合

User Type Runtime Level
レベル1 または Viewer タイプ以上 Lite
レベル2 または Editor タイプ以上 Basic

Lite ライセンスの認証方法

  1. ライセンスキーを使用した認証

  2. ArcGIS Online / Portal for ArcGIS へのログインによる認証

    • アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/ Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Runtime Lite ライセンスレベルを保有する)が必要です
    • アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/ Portal for ArcGIS へログインする必要があります
    • 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください

Basic ライセンスの認証方法

  1. ライセンスキーを使用した認証

  2. ArcGIS Online / Portal for ArcGIS へのログインによる認証

    • アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/ Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Runtime Basic ライセンスレベルを保有する)が必要です
    • アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/ Portal for ArcGIS へログインする必要があります
    • 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください

Standard ライセンスの認証方法

  1. ライセンスキーを使用した認証

  2. ArcGIS Online / Portal for ArcGIS へのログインによる認証
    注意:この認証は、ArcGIS Runtime 100.7 より以前のバージョンでは使用できません。また、Protal for ArcGIS をご利用の場合は、ArcGIS Enterprise 10.7 以前のバージョンでは使用できません。

    • アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/ Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Runtime Standard ライセンスレベルを保有する)が必要です
    • アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/ Portal for ArcGIS へログインする必要があります
    • 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください

Advanced ライセンスの認証方法

  1. ライセンスキーを使用した認証

  2. ArcGIS Online / Portal for ArcGIS へのログインによる認証
    注意:この認証は、ArcGIS Runtime 100.7 より以前のバージョンでは使用できません。また、Protal for ArcGIS をご利用の場合は、ArcGIS Enterprise 10.7 以前のバージョンでは使用できません。

    • アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/ Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Runtime Advanced ライセンスレベルを保有する)が必要です
    • アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/ Portal for ArcGIS へログインする必要があります
    • 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください

Analysis Extension ライセンスの認証方法

  1. ライセンスキーを使用した認証

  2. ArcGIS Online / Portal for ArcGIS へのログインによる認証 注意:この認証は、ArcGIS Runtime 100.7 より以前のバージョンでは使用できません。また、Protal for ArcGIS をご利用の場合は、ArcGIS Enterprise 10.7 以前のバージョンでは使用できません。

    • アプリケーションを使用するユーザーごとに ArcGIS Online 組織向けプラン/ Portal for ArcGIS の指定ユーザー アカウント(ArcGIS Runtime Analysis アドオンライセンス拡張機能を割り当てられた)が必要です
    • アプリケーションが少なくとも 30 日に 1 回は ArcGIS Online 組織向けプラン/ Portal for ArcGIS へログインする必要があります
    • 認証の手順は、指定ユーザー アカウントを使用した認証をご参照ください

ライセンスの認証

以下の認証に応じた作業を行ってください。

Lite ライセンスキーを使用した認証

ArcGIS Runtime Lite のライセンスキーを ArcGIS Developers のサイトから取得し、取得したライセンスキーを利用して、アプリケーションを Lite ライセンスで認証することができます。 最初に以下の手順で Lite レベルのライセンスキーを取得します。

  1. ArcGIS Developers: ArcGIS Runtime license ページにアクセスします

    • ArcGIS Developers にサインインしてない場合は [Sign in to retrieve your Runtime license string] をクリックします。
    • ArcGIS 開発者アカウントでサインインします。アカウントをお持ちでない場合は、サインアップ(無料)してください。アカウントの作成方法は「開発者アカウントの作成」をご覧ください。
  2. 表示されたライセンスキーをコピーします

  3. 次に、アプリケーションのコードにおいて ArcGIS Runtime SDK の機能が呼び出される前に、以下のコードを使用してアプリケーションにコピーしたライセンスキーを設定します。

    // 取得したライセンス文字列でアプリのライセンスを設定します
    string licenseKey = "runtimelite,1000,rud#########,none,####################";
    ArcGISRuntimeEnvironment.SetLicense(licenseKey);
    

配布パックのライセンスキーを使用した認証

ArcGIS Runtime の配布パックを購入し、取得したライセンスキーを利用して、アプリケーションを認証することができます。

ArcGIS Runtime の配布パックの購入についてはESRIジャパンにお問合せください。ArcGIS Runtime の配布パックをご購入頂いた場合、ESRIジャパンよりライセンスキーをメールにてお送りします。

アプリケーションのコードにおいて ArcGIS Runtime SDK の機能が呼び出される前に、以下のコードを使用して配布パックのライセンスキーを設定します。

// 取得したライセンス文字列でアプリのライセンスを設定します
string licenseKey = "runtimestandard,1000,rud#########,day-month-year,####################";
ArcGISRuntimeEnvironment.SetLicense(licenseKey);

Analysis Extension ライセンスを認証する場合は以下のコードを使用します。

// 基本ライセンスとエクステンション ライセンスのリストを設定します
string licenseKey = "runtimestandard,1000,rud#########,day-month-year,####################";
string[] extensions = { "runtimeanalysis,1000,rud#########,day-month-year,####################" };

ArcGISRuntimeEnvironment.SetLicense(licenseKey, extensions);

指定ユーザー アカウントを使用した認証

アプリケーションの実行時に、アプリケーションを利用するユーザーが保有する ArcGIS Online 組織向けプランもしくは Portal for ArcGIS の指定ユーザー アカウントを使用して ArcGIS Online / Portal for ArcGIS にログインすることで、ライセンスを取得することができます。

アプリケーションのコードにおいて ArcGIS Runtime SDK の機能が呼び出される前に、ライセンスを取得・設定します。以下のコードは、指定ユーザーのユーザー名とパスワードをコードに埋め込んで認証する簡単な例です。また、プロセスの一環として、アプリがオフライン環境で最大 30日 間使用されることに備えて、ライセンス情報を保存します。

認証方法の詳細については、「License your app with a named user account(英語)」や「Security and authentication(英語)」も併せてご覧ください。

try
{
    // ArcGIS Online または Portal で認証する URL を指定します
    Uri serviceUri = new Uri("https://www.arcgis.com/sharing/rest");
    
    // ユーザー名とパスワードを設定して資格情報を作成します(ここでは便宜上ソースコードに記載しています)
    Credential cred = await AuthenticationManager.Current.GenerateCredentialAsync(serviceUri, "<ユーザー名>", "<パスワード>");

    // 資格情報を使用してポータル(ArcGIS Online)に接続します
    ArcGISPortal arcgisPortal = await ArcGISPortal.CreateAsync(serviceUri, cred);

    // ポータルから LicenseInfo を取得します
    LicenseInfo licenseInfo = await arcgisPortal.GetLicenseInfoAsync();
    
    // ... ここにコードを記述して、アプリのライセンスをすぐに設定するか、ライセンス(JSON 文字列)を保存してアプリをオフラインにします ...

    // ライセンス情報を使用してアプリのライセンスを設定します
    ArcGISRuntimeEnvironment.SetLicense(licenseInfo);
}
catch (Exception ex)
{
    // TODO: 例外を処理します
}

注意:上記のコードスニペットは、ArcGIS Runtime 100.7 で導入された新しい GetLicenseInfoAsync() APIを使用しています。バージョン 100.6 以前では Portal.PortalInfo.LicenseInfo を使用します。

ライセンス情報をローカルストレージに保存した場合、保存したライセンス情報を使用して、オフライン環境でアプリを起動してライセンスを取得できます。ストレージからライセンスを取得し、アプリのライセンスを取得します。

// icenseInfo を JSON 形式のテキストとして取得します
string licenseJson = licenseInfo.ToJson();
// ... テキスト文字列をローカルに保存します ...

// (起動時) ... デバイスに保存されているライセンス JSON を取得します ...
// 保存した JSON 文字列からライセンス情報を設定します
LicenseInfo license = LicenseInfo.FromJson(licenseJson);