您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ArcGISRuntimeSDKforAndroid授权
ArcGISRuntimeSDKforAndroid授权ESRI中国北京要下载和安装ArcGISRuntimeSDKforAndroid,您需要注册开发者账户,进而便拥有了访问所有功能的权限,从而实现开发和测试目的。但是,这种情况下,应用程序中的所有地图都具有水印,并且在debug消息中显示,您的应用程序仅可用于开发目的。要实现应用程序的部署,您必须在基础版或标准版上进行注册。具体的花费主要发生在下面环节:在标准级别部署功能;应用程序中调用了需要消耗积分(credits)的ArcGISOnline服务。按照下面的描述,通过添加若干行代码即可实现对应用程序的授权。授权之后,水印和调试消息将不再显示,即可实现应用程序的部署。下表显示了不同级别下所具有的功能许可级别可用功能开发者(仅用于开发和测试)所有功能(将产生水印和调试消息)基础版除了下述功能的所有功能:本地定位器(地理编码)本地路径分析本地地理数据库编辑本地地理数据库同步操作标准版所有功能如何实现基础版授权部署一个仅使用基础版功能的应用程序是免费的。请遵循以下步骤:1阅读Esri许可协议()2访问developer.arcgis.com并用ArcGISforDeveloper账户登录3登录后,将会出现Applications区域。通过点击NewApplication或CreateanApplication以注册您的应用程序。在下一页上,填写所有字段项,而后点击CreateApplication以完成应用程序的注册。4注册完毕后,点击并选择RuntimeSDKLicensing,拷贝此处的ClientID字符串。5在您的应用程序中,利用下面的代码设置ClientID,将这行代码放置在ArcGISRuntimeSDK的功能之前ArcGISRuntime.setClientId(myClientID);这样,就完成了SDK基础版的授权。如何实现标准版授权?按照下列两种方式完成标准版授权:1如果您的应用程序至少每隔30天都会连接至ArcGISOnline或portal的话,可以按照利用ArcGISOnline或PortalforArcGIS授权应用程序的方式;2如果应用程序无法联网或超过30天都无法联网的情况下,需要用许可码进行授权。通过购买标准部署包来获取授权码。利用ArcGISOnline或PortalforArcGIS授权应用程序用户可以通过ArcGISOnline或PortalforArcGIS的组织账户进行验证,以解锁标准版功能30天时间。接下来的30天中,此应用程序就可以在离线的状态下使用。请按照下面的方式进行授权1参照基础版授权的步骤获取和设置ClientID;2允许应用程序账户利用ArcGISOnline或PortalforArcGIS进行验证。您必须在使用标准版功能之前执行此步骤。在此过程中,请保存许可信息以准备在离线环境中有效使用应用程序达30天。具体方式如下:/*建立一个登陆UI允许用户通过OAuth登陆到portal,OAuth是一种推荐的登陆到portal中的认证方法。成功登陆后(获取的UserCredential),通过从认证的Portal实例中获取LicenseInfo对象,将许可级别设置为标准版*/privatevoidsignInWithOAuth(){mOAuthView=newOAuthView(this,PORTAL_URL,CLIENT_ID,OAUTH_EXPIRATION_NEVER,newCallbackListenerUserCredentials(){@OverridepublicvoidonError(Throwablee){MessageDialogFragment.showMessage(getString(R.string.oauth_login_failed),getFragmentManager());}@OverridepublicvoidonCallback(UserCredentialscredentials){if(credentials!=null){setStandardLicenseWithLicenseInfo(credentials);}else{MessageDialogFragment.showMessage(getString(R.string.oauth_login_failed),getFragmentManager());}}});}/*此方法尝试将许可级别设置为标准版。标准版许可通过从授权的Portal实例中获取LicenseInfo对象。此授权Portal实例从前面的OAuth登陆步骤中获取的UserCredentials中创建*/privatevoidsetStandardLicenseWithLicenseInfo(UserCredentialscredentials){Portalportal=newPortal(PORTAL_URL,credentials);PortalInfoportalInfo=null;try{portalInfo=portal.fetchPortalInfo();}catch(Exceptione){MessageDialogFragment.showMessage(getString(R.string.standard_license_failed),getFragmentManager());return;}LicenseInfolicenseInfo=portalInfo.getLicenseInfo();LicenseResultlicenseResult=ArcGISRuntime.License.setLicense(licenseInfo);LicenseLevellicenseLevel=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如果您将许可信息保存在本地存储中,您的应用程序可在离线环境下启动。您需要按照下面方式授权应用程序//设置clientIDArcGISRuntime.setClientId(myClientID);//此处添加代码以获取本地保存的许可信息StringloadedString=Stringfetchedfromlocalstorage//由JSON字串创建LicenseInfo对象LicenseInfolicenseInfo=LicenseInfo.fromJson(lodedString);//ApplythelicenseArcGISRuntime.License.setLicense(licenseInfo);保存到本地的许可信息可允许您在接下来的30天中离线使用您的应用程序,之后许可信息将过期。此应用程序必须再次连接至ArcGISOnline或Portal或ArcGIS来获取许可信息以再用30天。如果应用程序尝试使用过期的许可信息,则将只能使用其中的基础功能。使用许可码来授权应用程序1按照基础版授权步骤获取应用程序的ClientID。2联系Esri获取许可码。3按照下面的示例,在设置了ClientID且使用ArcGISRuntime功能之前设置许可码//设置ClientIDArcGISRuntime.setClientId(myClientID);//示例许可码;从客服或esri分销商获取真正的许可码StringlicenseCode=runtimestandard,101,rux00000,none,XXXXXXX;//在应用程序中利用许可码启用标准版功能ArcGISRuntime.License.setLicense(licenseCode);这样,您的应用程序就可以在离线和在线的环境下无时间限制地使用所有功能。
本文标题:ArcGISRuntimeSDKforAndroid授权
链接地址:https://www.777doc.com/doc-2898211 .html