为应用程序提供许可

ArcGIS AppStudio 包含可立即在应用程序中使用的 ArcGIS Runtime;但是,应用程序中的所有地图将加上水印,并且将显示一条调试消息,指示您的应用程序仅针对开发人员提供许可。

要部署一个应用程序,您必须使用其中一个 ArcGIS Runtime 许可级别。 部署 ArcGIS Runtime 技术时,仅在 Basic 及以上级别产生成本。 使用 ArcGIS Online 服务也会产生成本。 有关详细信息,请参阅“开发人员常见问题解答”页面上的许可构建 ArcGIS 解决方案页面上的比较计划。 有关当前 ArcGIS Runtime 许可模式的概述,请参阅 ArcGIS Developers 页面的许可部分或观看此视频

即使您使用的是 API 密钥,也需要使用许可来部署您的应用程序。 API 密钥提供了对内容和服务的访问权限,而许可则可以实现 SDK 功能并移除开发者水印。 有关详细信息,请参阅许可功能

可通过在 AppStudio 设置中输入许可密钥来为您的应用程序提供许可。 完成此操作后,水印和调试消息将不再显示,并且您的应用程序已做好部署准备。

下表显示每个许可级别所提供的功能:

许可级别可用功能

Developer(仅限开发和测试)

所有功能(将生成水印和调试消息)

Lite

  • 从 ArcGIS 查看地图、场景、图层和包
  • 在公共要素服务中编辑要素
  • 从启用了同步功能的要素服务生成移动地理数据库
  • 将启用同步功能的要素服务更新下载到移动地理数据库
  • 路径选择
  • 地点查找
  • 使用网络服务计算服务区并查找最近设施点

Basic

  • Lite 的全部功能
  • 编辑移动地理数据库和在线要素服务中的要素。
  • 添加、更新或删除门户内容
  • 将移动地理数据库的要素几何、属性和附件编辑内容同步到要素服务

Standard

  • Basic 的全部功能
  • 访问其他数据
    • Shapefile
    • GeoPackage
    • ENC 图层 (S-57)
    • 本地栅格图层
    • 栅格函数的使用
    • 本地栅格高程源
  • 可视分析
    • 通视分析
    • 视域
  • ArcGIS Runtime 本地服务器
    • 地图服务
    • 要素服务
      • 编辑文件地理数据库
    • 地理处理服务
      • 支持可包含在地理处理包内的基础 ArcGIS Desktop 工具的子集

Advanced

  • Standard 的全部功能
  • ArcGIS Runtime 本地服务器
    • 要素服务
      • 编辑企业级地理数据库
    • 地理处理服务
      • 支持可包含在地理处理包内的基础和高级 ArcGIS Desktop 工具的子集

注:

ArcGIS Runtime 高级和本地服务器在 AppStudio 中不受支持。

AppStudio Player 3.0 及更高版本将应用在其中运行的应用程序的许可级别。 如果未提供许可密钥,则应用程序将以开发人员模式运行。

为应用程序提供 Lite 级别许可

要为应用程序提供 Lite 级别许可,仅需提供 ArcGIS AppStudio 可自动生成的免费许可密钥。 浏览到应用程序的设置 > 许可,然后单击设置 Lite 许可按钮。 如果尚未登录 ArcGIS Online,请先登录,然后许可密钥字段将会自动填充。 然后,单击设置中的应用按钮以保存更改。

还可以通过以 Viewer 用户类型的指定 ArcGIS 用户身份登录到应用程序,为应用程序提供 Lite 级别许可。

注:

AppStudio Player 中的 ArcGIS Runtime 100.1 或更高版本的应用程序在开发人员模式下运行,且其中包括一个 For Developer Use Only 的水印。 当您在应用程序的设置中提供 ArcGIS Runtime 许可时,此水印将消失。

为应用程序提供 Basic 或以上级别许可

可使用指定的 ArcGIS 用户帐户为应用程序提供 Basic 或更高级别许可。 许可级别取决于登录的用户类型:

  • Basic 级别的 Editor 和外业工作人员许可
  • Creator 和 GIS Professional - Standard 级别的 Basic 许可
  • GIS Professional - Standard 和 GIS Professional - Advanced 级别的 Advanced 许可

使用指定用户帐户涉及添加代码以使用 ArcGIS 组织帐户登录。

注:

在开始处理任意一项之前,请将您的 AppStudio 应用程序上传至 ArcGIS Online。 为此,登录到 AppStudio,单击您希望授予许可的应用程序,单击上传按钮,然后单击添加(或更新)。 此外,请阅读位于 AppStudio 的 EULA PDF 文件中的许可协议。 这些文件位于用户应用程序文件夹的 ArcGIS/AppStudio/Licenses 中。

  1. 在使用任何 ArcGIS Runtime 功能之前,找到运行代码的位置。
  2. 允许应用程序用户使用 ArcGIS 组织帐户进行身份验证。 加载门户后,在其上设置许可。
    var portal = ArcGISRuntimeEnvironment.createObject("Portal", {url: url});
    var credential = ArcGISRuntimeEnvironment.createObject("Credential");
    credential.username = username;
    credential.password = pwd;
    portal.credential = credential;
    portal.fetchLicenseInfoStatusChanged.connect(function(){
        if (portal.fetchLicenseInfoStatus === Enums.TaskStatusCompleted) {
            signedIn = true;
            var licenseInfo = portal.fetchLicenseInfoResult;
            licInfo.json = licenseInfo.json;
            var result = ArcGISRuntimeEnvironment.setLicense(licenseInfo);
            setLicenseData(result);
        }
    });
    portal.fetchLicenseInfo();
  3. 保存包含许可信息的 JSON 文件,以供日后使用。
    Button {
        id: savePortalInfo
        text: "Save Portal Info"
        onClicked: {
            System.settings.setValue("ArcGIS/Runtime/License/LicenseInfoJson", licInfo.json);
        }
    }
  4. 如果已将许可信息保存在本地存储上,可以使用保存的许可信息在离线环境中启动并授权您的应用程序。 如果您的应用程序在离线环境中使用长达 30 天,则这一点非常重要。
    Button {
        id: loadFromLicenseInfoButton
        text: "Load from LicenseInfo"
        onClicked: {
            licInfo.json = System.settings.value("ArcGIS/Runtime/License/LicenseInfoJson");
            var licenseInfo = ArcGISRuntimeEnvironment.createObject("LicenseInfo");
            licenseInfo.json = licInfo.json;
            var result = ArcGISRuntimeEnvironment.setLicense(licenseInfo);
            setLicenseData(result); // Sets UI elements based on result
    
    
        }

您的应用程序现在已获得 Basic 级别许可,可以保持离线状态长达 30 天,且可以在 AppStudio 中构建。

使用许可密钥为您的应用程序提供许可

您必须使用许可密钥向您的应用程序提供 Standard 或 Advanced 级别的许可。 要获取许可密钥,请联系 Esri。 如果您在美国,请拨打 1-888-377-4575 联系 Esri 客户服务中心。

收到许可密钥后,可通过 AppStudio 将其与您的应用程序相关联。 浏览至设置 > 许可,并将许可密钥复制到许可密钥字段中。 然后,单击应用按钮以保存更改。

在应用程序中确定 Esri 归属

您需要使用 ArcGIS Maps SDK 指导原则在应用程序中确定 Esri 归属: 其中包括: