隐私合规接口

为符合各地的个人信息保护与隐私合规要求,腾讯定位 SDK 提供了「用户是否同意隐私政策」的开关。在用户明确同意你的应用隐私政策之前,插件不会执行任何与定位、设备信息相关的操作。

本文档介绍隐私合规相关接口的调用时机与代码示例。



调用顺序

整体的初始化顺序如下:

  1. 在你的应用首次启动并获得用户对隐私政策的明确同意之后,调用 TencentLocationSDK.setPrivacyPolicyAgreement(true)

  2. 调用 TencentLocationSDK.init(...) 完成 ApiKey 配置。

  3. 创建并使用 TencentLocationManager / TencentGeofenceManager 等业务类。

任意业务类(包括 TencentLocationManager / TencentGeofenceManager)在隐私政策未同意时调用方法,都会抛出 TencentLocationError,错误码为 privacyNotAgreed

设置同意状态

import 'package:tencent_location_flutter_plugin/tencent_location_flutter_plugin.dart';

Future<void> agreePrivacy() async {
  // 用户在你的应用启动弹窗 / 设置页中同意隐私政策后调用:
  await TencentLocationSDK.setPrivacyPolicyAgreement(true);
}

如果用户撤回同意(例如在设置页关闭隐私授权),可以再次调用并传入 false。撤回后,插件将不再进行任何定位活动。

查询当前同意状态

final agreed = await TencentLocationSDK.getPrivacyPolicyAgreement();
print('当前是否已同意隐私政策:$agreed');

可以在每次进入定位相关页面前先查询一次,避免在未授权状态下发起定位调用。

与原生隐私设置的关系

setPrivacyPolicyAgreement 仅控制腾讯定位 SDK 自身的行为,不会替代用户在 Android / iOS 系统层级的定位权限授予。

完整的合规调用顺序仍然是:

  1. 应用获得用户对你自家隐私政策的同意 → 调用 setPrivacyPolicyAgreement(true)

  2. 应用按照系统规范向用户申请定位权限(Android 运行时权限 / iOS 系统权限弹窗)。

  3. 调用插件 API 进行定位。

任意一步缺失,定位调用都可能因合规或权限问题失败。

本页内容