为符合各地的个人信息保护与隐私合规要求,腾讯定位 SDK 提供了「用户是否同意隐私政策」的开关。在用户明确同意你的应用隐私政策之前,插件不会执行任何与定位、设备信息相关的操作。
本文档介绍隐私合规相关接口的调用时机与代码示例。
整体的初始化顺序如下:
在你的应用首次启动并获得用户对隐私政策的明确同意之后,调用 TencentLocationSDK.setPrivacyPolicyAgreement(true)。
调用 TencentLocationSDK.init(...) 完成 ApiKey 配置。
创建并使用 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 系统层级的定位权限授予。
完整的合规调用顺序仍然是:
应用获得用户对你自家隐私政策的同意 → 调用 setPrivacyPolicyAgreement(true)。
应用按照系统规范向用户申请定位权限(Android 运行时权限 / iOS 系统权限弹窗)。
调用插件 API 进行定位。
任意一步缺失,定位调用都可能因合规或权限问题失败。
有帮助
没帮助