ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)
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 去除水印)的更多相关文章
- ArcGIS runtime sdk for wpf 授权
这两天由于runtime sdk for wpf的授权和runtime sdk 其他产品的授权的不一样导致自己混乱不堪. 总结下吧. sdk 简介 当前ArcGIS runtime sdk 包括一系列 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...
- ArcGIS Runtime SDK for WPF学习笔记(一)
本节主要讲解如何安装ArcGIS Runtime SDK,以及移除注释与水印. 附上ArcGIS Runtime SDK for .NET的官方操作手册网址:https://developers.ar ...
- 《ArcGIS Runtime SDK for .Net开发笔记》--介绍与环境搭建
一. ArcGIS Runtime SDK for .NET介绍 ArcGIS Runtime SDK for .net是一款针对windows平台的开发包.能够在开发出在windows phone, ...
- ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南
ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...
- 安装 ArcGIS Runtime SDK for Android
ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...
- 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID
一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...
- ArcGIS RunTime SDK for Android之Features and graphics
今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程.最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧.官网的教 ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...
随机推荐
- C++对象数组初始化
类对象 数组 初始化可以使用构造函数初始化,同时类有不同的构造函数,可以对类对象数组元素使用不同的构造函数;
- Octave中调用hist出现broken pipe some output may be lost octave的解决(Mac)
参考:http://octave.1599824.n4.nabble.com/Mac-OS-X-Mountain-Lion-Octave-can-not-execute-sombrero-td4643 ...
- C# Matlab 相互调用
转自禾木junjie原文C# Matlab 相互调用 测试环境 VisualStudio2013 / .net4.0 Matlab2015b 高版本的matlab对外接其它语言做得很方便了,并不需要一 ...
- nexus3 搭建maven远程仓库
右上角 下载maven http://maven.apache.org/download.cgi 下载nexus https://www.sonatype.com/download-oss-sonat ...
- 获取当前UnixTime的零点时间戳
最近有个需求,开屏广告每天只出一次. 思路为如果出了开屏广告,则记录当前时间,下次来的时候,读取当前时间和上一次出开屏的时间. 算一下是不是在同一天即可. 我们的第一个想法是将上次开屏时间和当前时间归 ...
- centos7 安装wxPython
*** exact error that occured. This usually means GTK+ is incorrectly installed. configure: error: ...
- 在SharePoint解决方案中使用JavaScript (1) – 引用.js文件
本文是系列文章的第一篇. 在SharePoint解决方案中使用JavaScript (0) 作为在SharePoint应用程序中使用JavaScript的第一步,就是要知道如何将一个写好的.js文件, ...
- 解决svn Key usage violation in certificate has been detected
ubuntu系统 #!/bin/shecho "This script will reconfigure subversion to work with certs correctly.&q ...
- solr自动提示 - jquery ui autocomplete
需求: 搜索框中 输入部分关键词之后,有下拉联想提示.选中提示,使用鼠标或者使用enter键,则触发搜索功能.没有选择搜索提示,使用部分输入关键词作为搜索,直接使用enter键也能触发搜索功能.整个过 ...
- [模板]KMP字符串匹配
洛谷P3375 注意:两次过程大致相同,故要熟读熟记,切勿搞混 可以看看其他的教程:http://www.cnblogs.com/c-cloud/p/3224788.html 本来就不太熟,若是在记不 ...