尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
《HarmonyOS 7 应用上架与隐私合规工程化》02:隐私同意之前,SDK 到底能不能先初始化【鸿蒙心迹】
隐私弹窗还没弹出来统计 SDK 已经把设备信息发出去了。第一次做合规的时候以为隐私弹窗就是个 UI用户点了同意存个状态就完了。后来才发现不对用户还没点同意App 启动的时候统计 SDK、认证 SDK、云服务 SDK 都已经在 onCreate 里初始化了。设备信息、网络状态、唯一标识早就发出去了。隐私弹窗只是个摆设真正的数据早就传完了。一、先想清楚App 启动后前 1000ms 发生了什么把 App 启动后的前 1000ms 拆开看看时间发生了什么0-100msAbilityStage 初始化100-300msUIAbility onCreate300-500ms各个 SDK 初始化500-800ms隐私弹窗显示800-1000ms用户点同意/拒绝问题是SDK 在 300-500ms 就初始化了隐私弹窗 500ms 才显示。用户还没同意SDK 已经开始收集数据了。二、隐私同意状态为什么要真的控制初始化很多人以为隐私弹窗就是 UI用户点了同意存个 Preferences 就行。不对。隐私同意要真的控制 SDK 初始化。同意之前SDK 不能初始化同意之后再初始化。阶段做什么未同意最小启动只跑必要的代码刚同意延迟初始化所有 SDK已同意正常运行这段代码解决什么问题SDK 延迟初始化。文件entryability/EntryAbility.ets用途隐私同意控制接入位置Ability 启动import{PreferencesUtil}from./utils/PreferencesUtil;classEntryAbility{onCreate(){// 先检查隐私同意状态letconsentedPreferencesUtil.getConsentState();if(!consented){// 未同意只初始化最小启动this.initMinimal();this.showPrivacyDialog();}else{// 已同意正常初始化所有 SDKthis.initAllSDKs();}}onUserConsented(){// 用户同意后延迟初始化所有 SDKthis.initAllSDKs();PreferencesUtil.setConsentState(true);}}三、撤回同意以后怎么办还有个问题用户撤回同意怎么办很多人只考虑同意不考虑撤回。撤回以后SDK 还在运行数据还在收集。操作做什么同意初始化所有 SDK撤回停止 SDK释放资源四、几个容易踩的坑第一个坑在 onCreate() 里初始化所有 SDK。不管用户有没有同意先初始化了再说。第二个坑隐私弹窗只是 UI没有真正控制初始化。弹窗是摆设。第三个坑同意状态只存在内存。杀进程就忘了。第四个坑用户撤回后 SDK 继续运行。资源没释放。第五个坑多个 SDK 相互依赖导致初始化顺序混乱。A 依赖 BB 要等 A死锁了。第六个坑启动优化把合规检查绕过去。为了快跳过了同意检查。这次做合规初始化最大的体会是隐私合规不是加个弹窗是真的要控制数据收集的时机。真正做的时候最容易忽略的不是怎么写弹窗而是怎么管好启动顺序。用户同意之前哪些代码能跑、哪些不能跑每一步都要想清楚。
RELATED

相关推荐

《HarmonyOS 7 应用上架与隐私合规工程化》01:权限声明、运行时申请与 Release Profile 为什么总对不上【鸿蒙心迹】

《HarmonyOS 7 应用上架与隐私合规工程化》01:权限声明、运行时申请与 Release Profile 为什么总对不上【鸿蒙心迹】

开发机上一切正常,提交审核直接被打回来:权限声明和 Release Profile 对不上。做了个生活记录 App,开发机上跑了三个月,功能都正常。提交应用市场审核,等了两天,收到驳回通知:“敏感隐私权限未提…

📅 2026/9/23 17:18:09
3分钟搞定Excel数据透视手写实现

3分钟搞定Excel数据透视手写实现

3分钟搞定Excel数据透视手写实现 官方文档翻了三遍还是晕?别慌。Excel数据透视表看着复杂,其实底层逻辑就三步:聚合、分组、求和。今天不聊虚的,咱们直接上手,用Python代码把这套逻辑跑通。哪怕你是刚入行的房建工程师,或者对机器学习…

📅 2026/9/23 17:18:09
《HarmonyOS 7 Flutter 三方插件鸿蒙化开发手记》05:从本地能跑到真正可发布的 OHOS 插件【鸿蒙心迹】

《HarmonyOS 7 Flutter 三方插件鸿蒙化开发手记》05:从本地能跑到真正可发布的 OHOS 插件【鸿蒙心迹】

example 能跑,就等于插件可以发布了吗?还差得远。前四篇我们把插件从无到有搭起来了: 01:插件被 HarmonyOS 识别02:Dart 和 ArkTS 通信03:接入系统能力04:生命周期和权限 现在 example 能跑了。…

📅 2026/9/23 17:18:09
MORE NEWS

更多资讯

📰

OpenLayers v3.14.2 补丁版本解析:TileJSON 容错、几何克隆与滚轮事件修复深度解读

前端GIS数据可视化 【免费下载链接】openlayers OpenLayers 项目地址: https://gitcode.com/gh_mirrors/op/openlayers 点击查看 免费下载 导读 v3.14.2 是 OpenLayers 在 v3 系列中期发布的一个补丁版本,其核心使命是修复 v3.14.1 中引入的若干回归问…

📰

图联邦学习实战系统:Cora/Citeseer+GCN/SAGE+真分布式训练

简介:本资源是一套面向本科毕业设计与人工智能课程实践的图联邦学习系统实现方案,聚焦社交网络、知识图谱与推荐系统等典型图数据场景,为算法工程师与高校研究者提供可复现的联邦化GNN开发范例。压缩包共149个文件,含32个核心Pyth…

📰

Skill Seekers 环境变量完全参考:配置、优先级与实战场景详解

人工智能AI 应用AI 技能RAGMCP 服务网页爬虫 【免费下载链接】Skill_Seekers Convert documentation websites, GitHub repositories, and PDFs into Claude AI skills with automatic conflict detection 项目地址: https://gitcode.com/gh_mirrors/sk/Skill_Seeke…

📰

飞书知识库空间盘点:lark-cli 的 wiki +space-list 命令使用与分页机制全解

飞书知识库空间盘点:lark-cli 的 wiki space-list 命令使用与分页机制全解 【免费下载链接】cli The official Lark/飞书 CLI tool, maintained by the larksuite team — built for humans and AI Agents. Covers core business domains including Messenger, Docs…

📰

Apache Arrow C++ 数组体系全解析:从 ArrayData、Array 到 ChunkedArray 与 ArrayVisitor

Apache Arrow C 数组体系全解析:从 ArrayData、Array 到 ChunkedArray 与 ArrayVisitor 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors…

📰

C语言控制台坦克大战:从游戏循环到碰撞检测的完整实现

简介:这是一份面向C语言初学者与进阶学习者的控制台游戏实战项目,以经典坦克大战为载体,帮助读者在命令行环境中理解游戏开发的基本流程与程序设计思维。资源围绕三维数组构建地图、事件循环、碰撞检测、键盘输入解析、ASCII字符绘制等核心知…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬