隐私合规接入指南

1. 文档说明

本文档用于规范维智定位SDK 隐私合规接入流程,解决APP接入SDK隐私授权合规问题,适用于业务端控制隐私弹窗的接入场景。

核心接入原则:所有隐私合规接口必须在 WzLocationClient 实例化之前调用,否则SDK定位能力会被拦截,导致功能异常。

2. 合规核心接口定义

2.1 隐私政策展示配置接口

用于配置App是否包含SDK隐私政策、是否启用SDK内置隐私弹窗,为前置基础合规接口。

/** 设置包含隐私政策,并展示用户授权弹窗
 * 必须在 WzLocationClient 实例化之前调用
 *
 * @param context    上下文
 * @param isContains  隐私权政策是否包含维智隐私权政策 true=包含
 * @param isShow      隐私权政策是否弹窗展示告知用户 true=启用SDK内置弹窗,false=禁用SDK内置弹窗(业务自定义弹窗)
 */
public static synchronized void updatePrivacyShow(Context context, boolean isContains, boolean isShow);

2.2 用户隐私授权状态设置接口

用于告知SDK用户是否已同意隐私政策,需在用户完成授权后调用。

/**
 * 设置是否同意用户授权政策
 * 必须在 WzLocationClient 实例化之前调用
 *
 * @param context 上下文
 * @param isAgree 隐私权政策是否取得用户同意 true=用户已同意
 */
public static synchronized void updatePrivacyAgree(Context context, boolean isAgree);

3. 标准接入方案(推荐:APP自行控制隐私弹窗)

3.1 方案说明

集成方APP已有隐私政策弹窗、合规授权页面时,需禁用SDK自带隐私弹窗,由业务侧自主实现隐私展示、用户授权逻辑,规避弹窗冲突,满足应用商店合规审核要求。

参数关键修改:将原有默认参数 isShow=true 修改为 isShow=false

3.2 标准接入代码

严格遵循如下调用顺序,不可颠倒、不可遗漏:

// 1. 声明App隐私政策已包含维智SDK隐私政策,禁用SDK内置隐私弹窗(业务自主实现弹窗)
MapsInitializer.updatePrivacyShow(this, true, false);
// 2. 用户阅读并同意隐私政策后,设置授权状态为已同意
MapsInitializer.updatePrivacyAgree(this, true);

4. 两种接入模式对比

调用代码效果说明适用场景
MapsInitializer.updatePrivacyShow(this, true, true)启用SDK内置隐私弹窗,SDK自动弹出授权窗口项目无自定义隐私弹窗,完全依赖SDK原生合规弹窗
MapsInitializer.updatePrivacyShow(this, true, false)禁用SDK内置隐私弹窗,仅声明已集成SDK隐私政策,无自动弹窗通用推荐场景,项目自有隐私合规页面/弹窗,自主管控授权逻辑

5. 强制合规约束与流程规范

5.1 时序约束(硬性规则)

隐私合规接口调用 → WzLocationClient 实例化,顺序不可颠倒,必须先完成合规配置,再初始化定位SDK。

5.2 参数合规约束

  • isContains = true:App隐私政策文档中,必须完整内嵌或引用维智定位SDK隐私权政策,满足合规公示要求;
  • isShow = false:关闭SDK弹窗能力,所有隐私告知、用户授权交互由业务App自主实现;
  • isAgree = true:仅用户主动阅读、确认同意隐私政策后才可设置,用户未授权前禁止赋值true,禁止静默授权。

5.3 标准合规流程

  1. App启动后,展示业务自定义隐私政策弹窗/页面;
  2. 用户点击【同意】:执行合规接口配置,设置隐私参数、授权状态;
  3. 合规配置完成,初始化 WzLocationClient,正常使用定位功能;
  4. 用户点击【拒绝】:不执行任何合规接口,禁止初始化定位SDK,关闭定位相关能力。

6. 常见问题说明

  • 问题:初始化定位客户端后调用合规接口,导致定位功能失效 原因:违反调用时序规则,必须先合规、后初始化SDK;
  • 问题:设置 isShow=false 后无隐私弹窗 正常现象:该参数为禁用SDK弹窗,需业务自行实现隐私授权弹窗;
  • 问题:上架合规审核不通过 排查点:确认App隐私政策已包含SDK隐私条款、用户授权逻辑完整、无静默初始化SDK行为。