全部服务产品
开发者频道
定价
登录
开发注意事项
下载开发文档
Android地图SDK隐私合规接口

为了更好地保护最终用户的个人信息,规范SDK收集信息和获取权限的行为,各个SDK增加了设置是否同意SDK隐私政策的接口,请开发者务必确保调用SDK任何接口前先调用隐私合规接口setAgreePrivacy。需将接口设置为true才能正常使用所有功能,各个SDK需分别设置,在设置不同意隐私政策时的行为如下:

定位SDK:不支持正常获取用户位置
地图SDK:不支持发起检索、路线规划等数据请求
全景SDK:不支持发起全景请求

对外隐私政策设置可以统一为以下接口, 接口说明如下:

// java
/**
* 设置隐私模式,默认false
* 如果设置true,一定要保证在调用 SDKInitializer.initialize(this); 之前设置
*
* @param context 必须是Application Context
* @param isEnable ture-同意隐私政策; false-不同意隐私政策;
*
*/
public static void setAgreePrivacy(Context context, boolean isEnable)
注:该接口必须在调用SDK初始化接口之前设置。

该接口必须在调用SDK初始化接口之前设置,且在SDK初始化时捕获抛出的异常:

// java
// 是否同意隐私政策,默认为false
SDKInitializer.setAgreePrivacy(this, false);
try {
// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
SDKInitializer.initialize(this);
} catch (BaiduMapSDKException e) {
}
开发包系统兼容性

1. 支持4种CPU架构: armeabi-v7a、arm64-v8a、x86、x86_64。
2. 支持Android v4.0以上系统

开发包形式说明

1. 自V3.6.0起,原内置覆盖物相关类代码开源(OverlayManager/PoiOverlay/TransitRouteOverlay/WalkingRouteOverlay/BusLineOverlay),源码可在BaiduMapsApiDemo和BaiduMapsApiASDemo工程中overlayutil包下找到。
2. 地图SDK采用一体化包进行依赖,旧包无法与新包同时混用,请将之前所有旧包(so和jar)全部替换为新包。

jar场景so功能包内容
BaiduLBS_Android.jar基础地图libBaiduMapSDK_base_vX_X_X.so
libBaiduMapSDK_map_vX_X_X.so
liblocSDKXX.so
libgnustl_shared.so
基础地图、室内地图、个性化地图、检索、云检索、计算工具、路线规划、定位等,可结合自身需求自定义组合下载
步骑行导航(包含基础地图)ibBaiduMapSDK_base_vX_X_X.so
libBaiduMapSDK_map_for_bikenavi_vX_X_X.so
libBaiduMapSDK_bikenavi_vX_X_X.so
liblocSDKXX.so
libgnustl_shared.so
普通自行车骑行导航(v4.2.0起)、电动车骑行导航(v4.4.0起)、步行AR导航(v4.4.0起),基础地图全部功能
支持HTTPS

地图SDK自v4.5.0起支持HTTPS协议,开发者可以通过setHttpsEnable(boolean isEnable);控制是否使用https,V5.3.2版本之前版本默认使用http协议;V5.3.2版本之后(包含)默认使用https协议。
如果使用默认的http协议,由于Android P(包含更高版本)系统禁止使用所有未加密的连接,所以在使用检索功能(poi检索,路线规划,行政区域检索,地理编码,逆地理编码)会返回error.SEARCH_SERVER_INTERNAL_ERROR。并有如下异常信息:

W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted

针对该问题有以下三种解决方案如下:
1. 初始化时改用https请求(建议);
2. targetSdkVersion 降到27以下;
3. 按如下方式更改网络安全配置
3.1)在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>

3.2)在AndroidManifest.xml文件下的application标签增加以下属性:

<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
/>
注意:使用https,会存在加密、解密的过程,可能会影响效率。

上一篇

Android Wear开发

下一篇

显示地图

本篇文章对您是否有帮助?