1. Key机制说明
为了给用户提供更优质的服务,Android平台定位 SDK自v4.0版本开始引用了Key验证体系。因此,当您选择使用v4.0及之后版本的定位SDK时,需要先申请且配置Key,并在程序相应位置填写您的Key。(选择使用v3.3及之前版本SDK的开发者,不需要使用Key)
Key机制:每个Key仅且唯一对于1个应用验证有效,即对该Key配置环节中使用的包名匹配的应用有效。因此,多个应用【包括多个包名】需申请多个Key,或者对1个Key进行多次配置。
LBS开放平台所有产品均使用统一Key机制,用户只需通过配置便能获得不同API/SDK产品服务,且Key“一一对应”机制,不仅保证您的应用所享有的服务资源(如服务配额,服务次数等)安全性和专属性,或选择启动关闭部分API/SDK服务,同时随着LBS开放平台的发展,未来您还可通过Key获得VIP服务(如提升服务次数、定制化服务等)。
说明:若你需要在同一个工程中同时使用定位SDK和地图SDK,可以共用同一个key
2. 申请配置Key步骤
Key的申请地址为:http://lbsyun.baidu.com/apiconsole/key
申请与配置步骤详见如下:
2.1 登录百度账号
访问API控制台页面,若您未登录百度账号,请先登录。
2.2 进入API控制台
登录会跳转到API控制台服务,具体如下图:
2.3 创建密钥(access key)
点击“创建密钥”,系统将为您自动生成密钥,如下图所示:
2.4 配置密钥
2.4.1 打开“配置”密钥对话框
选中新生成密钥,点击右侧栏的“配置”按钮
将弹出如下对话框:
2.4.2 选择密钥属性
选择“Key type”为“for mobile”,如下图所示:
2.4.3 输入“安全码”
安全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名)
注意:中间的分号为英文状态下的分号!
1. 获取shal值
您可以通过两种方法来获取Android签名证书的sha1值:(需事先配置好Android环境))
第一种方法:使用keytool
第1步:运行进入控制台
第2步:定位到.android文件夹下,输入cd.android
第3步,输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令默认是android,如果有修改请填写修改后的值)
其中keytool为jdk自带工具;keystorefile为Android 签名证书文件
第二种方法:在adt 22中直接查看
如果使用adt 22,可以在eclipse中直接查看:winows -> preferance -> android -> build。如下图示:其中“SHA1 fingerprint”值即为Android签名证书的sha1值。
2. 获取包名
包名是Android应用程序本身在AndroidManifest.xml 中定义的名称,例如:
2.4.4 完成配置
完成密钥配置点击“确定”完成Key的配置工作,请妥善保管您所申请的Key。至此,您可以将配置完成的Key添加至您的应用程序里,进行程序开发了。
配置完成后,KEY后面的状态会变为“已配置”。
2.5 Key有效性验证
用户申请Key的有效性可以通过获取error code来判断,如果error code返回是166,则表示key无效,需要用户重新确认key的有效性。
官网申请说明地址:http://developer.baidu.com/map/geosdk-android-key.htm#key2.4