首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

苹果2024春季新政策,对第三方SDK重拳出击

文  | Innocent Roland

自从2021年iOS14.5推出IDFA新规后,无论苹果是真的想保护消费者隐私,还是像很多“友商”评价的一样:本质是为了增加自己的广告服务收入,苹果对隐私保护的政策正在变得越来越严格。

当时ATT框架几乎给iOS手游和应用的推广带来毁灭性的打击,彼时还叫Facebook的Meta也在当年遭遇了巨大的滑铁卢,甚至在后续推出了包括ASC在内的一系列黑盒广告产品,但无可否认的是无论是电商还是应用和游戏,由于eCPM的大幅下滑,整个苹果的应用生态还是发生了翻天覆地的变化。

从隐私保护的角度来说,ATT框架无疑是成功的,大量用户选择拒绝被追踪,但不可否认的是在整个ATT框架内依旧有一个相对明显的漏洞——安装在游戏和应用内的各种SDK。

事实上,这些第三方SDK在很大程度上减轻了开发者的负担,但不可否认的是:无论是开发者还是用户,都很难发现各种SDK中隐藏的隐私风险,或者说的更直白一点,绕过ATT框架收集用户信息的可能性。

于是在2023年WWDC上,苹果就宣布了新的SDK隐私清单和签名,以便用户更好的了解第三方SDK使用和收集数据的方式。

与此同时,Xcode会在开发者准备上架和分发App时,为开发提供一份该App中使用的所有的第三方SDK的隐私清单合并成一个简单的报告。通过该报告让开发者能够全面的了解自己使用的所有第三方SDK,从而更轻松的创建准确的隐私标签。

这么做的原因也很简单,因为苹果要求所有的开发者如果使用第三方SDK,那么他们就需要对App中SDK包含的所有代码负责,并且清晰地了解SDK是如何收集和使用用户数据的。从某种程度上来说,这就是将侵犯隐私和审查SDK的风险和责任转嫁给了开发者,因此提供一些便利自然也在情理之中。

总的来看,这次2024春季隐私清单政策主要就是两个关键:苹果创建了一个第三方SDK隐私清单和签名;以及开发者为什么要使用某个API流程。

隐私清单和SDK签名到底是什么?

首先来看隐私清单,其实所谓的第三方隐私清单(privacy manifest),本质上就是让SDK开发人员提供他们SDK是如何收集数据的,这样就能够让App开发者在集成各种SDK的时候,就能迅速得到一份详细的相关报告,从而避免额外手机不必要的用户数据。

更进一步来说,如果开发者在App内集成了不止一个SDK,上文中所说的Xcode也能够简单的将第三方SDK中的多个隐私清单合并,最终导出一个报告汇总,从而让开发者能够清晰且全面的了解自己所使用的全部SDK是如何收集并应用这些数据的。

由此,开发者就能在提交App Store审核时,能够更好且更清晰的在后台提供自己App的隐私标签,在App Store的后台明确自己App的数据收集和使用场景,从而让用户能够在详情页就清楚的指导该App收集了哪些数据,并且将会把这些数据用在什么地方。

除此之外,苹果还要求SDK的开发者提供SDK签名。具体来看,有了SDK签名,当应用这作者在自己的应用中采用一个第三方应用新版本的时候,Xcode会对其是否由同一个开发者签名进行验证,提升软件供应链的完整性。说的简单直白一点,就是苹果希望通过签名认证的方式,来确保SDK不会在开发的过程中被篡改。

经过签名认证后的 SDK ,在 Xcode15 会显示对应的 Signature 信息,如果一旦发现本次前面和上次不一致,那么Xcode 就会让编译失败并弹出警告。虽然目前来看,苹果并没有要求所有的SDK强制使用签名,但如果这一SDK涉及到隐私手机,尤其是出现在下面列表中的这些SDK,则一定要添加相关签名。

需要隐私清单和签名的SDK:苹果还专门列出了一个在App Store常用的SDK清单,并且表示,“自2024年春季开始,当您在App Store Connect中提交包含这些SDK的新应用程序时,或者当您提交的更新包含这些SDK的时候,必须包含下面列出的任何SDK的隐私清单。在将列出的SDK用作二进制依赖项的情况下,也需要签名。所列SDK的任何版本,以及对列表中的SDK进行重新打包的任何SDK,都包含在规定中。”

具体SDK列表截图如下:

给API一个必要理由

除了隐私清单之外,本次新政策最为关键的则是所谓的《必要理由API申明》。

简单来说,就是苹果只做了一个新的API分类,开发者则需要使用这个分类在隐私清单里面说明为什么需要调用该API接口。从目前的情况来看,苹果可能是期望通过此举来规范App使用这些API做各种Fingerprinting识别行为。

相关的API总计有5个:

File timestamp APIs

System boot time APIs

Disk space APIs

Active keyboard APIs

User defaults APIs

也就是说,如果 SDK 和 App 里用到了分类里的这些 API ,那么开发者就需要在隐私列表里填写为什么要使用这些API的原因。

总结一下,本次 iOS 隐私清单主要覆盖的有:

SDK 提供隐私清单的数据收集类型、使用描述和用途

必要理由的 API 需要提供使用“代码”和原因

ATT 跟踪添加域名区分

第三方 SDK 签名

而这一切,都会在2024年春季落地。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OrkH-KSm89GHvIVoHb2WiYjA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券