ArcGIS Runtime SDK for Android 授权

ESRI中国北京

要下载和安装 ArcGIS Runtime SDK for Android,您需要注册开发者账户,进而便拥有了访问所有功能的权限,从而实现开发和测试目的。但是,这种情况下,应用程序中的所有地图都具有水印,并且在debug消息中显示,您的应用程序仅可用于开发目的。

要实现应用程序的部署,您必须在基础版或标准版上进行注册。具体的花费主要发生在下面环节:

在标准级别部署功能;

应用程序中调用了需要消耗积分(credits)的ArcGIS Online服务。

按照下面的描述,通过添加若干行代码即可实现对应用程序的授权。授权之后,水印和调试消息将不再显示,即可实现应用程序的部署。

下表显示了不同级别下所具有的功能

许可级别

可用功能

开发者(仅用于开发和测试)

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

基础版

除了下述功能的所有功能:

本地定位器(地理编码)

本地路径分析

本地地理数据库编辑

本地地理数据库同步操作

标准版

所有功能

如何实现基础版授权

部署一个仅使用基础版功能的应用程序是免费的。请遵循以下步骤:

1 阅读 Esri 许可协议(https://developers.arcgis.com/android/guide/pdf/E204_E300.pdf)

2 访问 developer.arcgis.com并用ArcGIS for Developer账户登录

3 登录后,将会出现 Applications 区域。通过点击 New Application 或 Create an Application以注册您的应用程序。在下一页上,填写所有字段项,而后点击 Create Application以完成应用程序的注册。

4 注册完毕后,点击并选择 Runtime SDK Licensing,拷贝此处的Client ID字符串。

5 在您的应用程序中,利用下面的代码设置 Client ID,将这行代码放置在 ArcGIS Runtime SDK 的功能之前

ArcGISRuntime.setClientId("myClientID");

这样,就完成了SDK 基础版的授权。

如何实现标准版授权?

按照下列两种方式完成标准版授权:

1 如果您的应用程序至少每隔30天都会连接至 ArcGIS Online 或 portal 的话,可以按照 利用 ArcGIS Online 或 Portal for ArcGIS 授权应用程序的方式;

2 如果应用程序无法联网或超过30天都无法联网的情况下,需要用许可码进行授权。通过购买标准部署包来获取授权码。

利用ArcGIS Online 或 Portal for ArcGIS 授权应用程序

用户可以通过ArcGIS Online或Portal for ArcGIS 的组织账户进行验证,以解锁标准版功能30天时间。接下来的30天中,此应用程序就可以在离线的状态下使用。请按照下面的方式进行授权

1 参照基础版授权的步骤获取和设置Client ID;

2 允许应用程序账户利用ArcGIS Online 或 Portal for ArcGIS 进行验证。您必须在使用标准版功能之前执行此步骤。在此过程中,请保存许可信息以准备在离线环境中有效使用应用程序达30天。具体方式如下:

/*建立一个登陆UI允许用户通过OAuth登陆到portal,OAuth是一种推荐的登陆到portal中的认证方法。成功登陆后(获取的UserCredential),通过从认证的Portal实例中获取LicenseInfo对象,将许可级别设置为标准版*/

private void signInWithOAuth() {

mOAuthView = new OAuthView(this, PORTAL_URL, CLIENT_ID, OAUTH_EXPIRATION_NEVER,

new CallbackListener<UserCredentials>() {

@Override

public void onError(Throwable e) {

MessageDialogFragment.showMessage(getString(R.string.oauth_login_failed), getFragmentManager());

}

@Override

public void onCallback(UserCredentials credentials) {

if (credentials != null) {

setStandardLicenseWithLicenseInfo(credentials);

} else {

MessageDialogFragment.showMessage(getString(R.string.oauth_login_failed), getFragmentManager());

}

}

});

}

/* 此方法尝试将许可级别设置为标准版。标准版许可通过从授权的Portal实例中获取LicenseInfo对象。此授权Portal实例从前面的OAuth登陆步骤中获取的UserCredentials中创建 */

private void setStandardLicenseWithLicenseInfo(UserCredentials credentials) {

Portal portal = new Portal(PORTAL_URL, credentials);

PortalInfo portalInfo = null;

try {

portalInfo = portal.fetchPortalInfo();

} catch (Exception e) {

MessageDialogFragment.showMessage(getString(R.string.standard_license_failed), getFragmentManager());

return;

}

LicenseInfo licenseInfo = portalInfo.getLicenseInfo();

LicenseResult licenseResult = ArcGISRuntime.License.setLicense(licenseInfo);

LicenseLevel licenseLevel = ArcGISRuntime.License.getLicenseLevel();

if (licenseResult == LicenseResult.VALID && licenseLevel == LicenseLevel.STANDARD) {

MessageDialogFragment.showMessage(getString(R.string.standard_license_succeeded), getFragmentManager());

} else {

MessageDialogFragment.showMessage(getString(R.string.standard_license_failed), getFragmentManager());

}

showMap();

}

3 如果您将许可信息保存在本地存储中,您的应用程序可在离线环境下启动。您需要按照下面方式授权应用程序

// 设置 client ID

ArcGISRuntime.setClientId("myClientID");

// 此处添加代码以获取本地保存的许可信息

String loadedString = "String fetched from local storage"

// 由JSON 字串创建LicenseInfo对象

LicenseInfo licenseInfo = LicenseInfo.fromJson(lodedString);

// Apply the license

ArcGIS Runtime.License.setLicense(licenseInfo);

保存到本地的许可信息可允许您在接下来的30天中离线使用您的应用程序,之后许可信息将过期。此应用程序必须再次连接至 ArcGIS Online 或 Portal 或 ArcGIS 来获取许可信息以再用30天。如果应用程序尝试使用过期的许可信息,则将只能使用其中的基础功能。

使用许可码来授权应用程序

1 按照基础版授权步骤获取应用程序的 Client ID。

2 联系 Esri 获取许可码。

3 按照下面的示例,在设置了ClientID且使用ArcGIS Runtime功能之前设置许可码

// 设置 Client ID

ArcGISRuntime.setClientId("myClientID");

// 示例许可码;从客服或esri分销商获取真正的许可码

String licenseCode = "runtimestandard, 101, rux00000, none, XXXXXXX";

//在应用程序中利用许可码启用标准版功能

ArcGISRuntime.License.setLicense(licenseCode);

这样,您的应用程序就可以在离线和在线的环境下无时间限制地使用所有功能。

ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)的更多相关文章

  1. ArcGIS runtime sdk for wpf 授权

    这两天由于runtime sdk for wpf的授权和runtime sdk 其他产品的授权的不一样导致自己混乱不堪. 总结下吧. sdk 简介 当前ArcGIS runtime sdk 包括一系列 ...

  2. 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述

    1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...

  3. ArcGIS Runtime SDK for WPF学习笔记(一)

    本节主要讲解如何安装ArcGIS Runtime SDK,以及移除注释与水印. 附上ArcGIS Runtime SDK for .NET的官方操作手册网址:https://developers.ar ...

  4. 《ArcGIS Runtime SDK for .Net开发笔记》--介绍与环境搭建

    一. ArcGIS Runtime SDK for .NET介绍 ArcGIS Runtime SDK for .net是一款针对windows平台的开发包.能够在开发出在windows phone, ...

  5. ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南

    ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...

  6. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  7. 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID

    一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...

  8. ArcGIS RunTime SDK for Android之Features and graphics

    今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程.最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧.官网的教 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

随机推荐

  1. 一个简单的异常/条件重试类(C#)

    单个类,简单好用 using System; using System.Linq.Expressions; using System.Threading; using System.Threading ...

  2. 抛java.lang.NoClassDefFoundError: org.joda.time.ReadablePeriod错误

    转自:http://www.codeorg.cn/article/detail/qa/542 在进行activiti环境搭建时总是抛出java.lang.NoClassDefFoundError: o ...

  3. Centos6、7 PHP5.4 5.5 5.6安装

    https://www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/ https://blo ...

  4. aop中的顾问

    通知只能指定织入的时间点,目标方法之前,之后,环绕,还是异常时. 要想指定切入点就要使用顾问

  5. Java如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

  6. 大数据Hadoop生态圈:Pig和Hive

    前言 Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台. Pi ...

  7. Activiti 整合的小插曲

    虽然是令人头痛的小插曲,真不令人省心.2年不用它又忘了怎么配,这次一定记录下来,呵呵哒. 1.下载及运行设计器 官网下载源码压缩包,解压后找到设计器目录:Activiti-activiti-5.22. ...

  8. CS4.1 RPM打包函数分析

    shell举例说明:脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后$*为"1 2 3"(一起被引号包住)$@为"1" &quo ...

  9. spring4-2-bean配置-1-依赖注入

    配置 bean,本章节中主要介绍蓝色文字部分. 配置形式:基于 XML 文件的方式:基于注解的方式 Bean 的配置方式:通过全类名(反射).通过工厂方法(静态工厂方法 & 实例工厂方法).F ...

  10. php static 变量声明

    <?phpfunction test($key){ static $array = array();  /* 静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数 ...