查看原文
其他

GDPR实战指导:谷歌是如何设计并获得用户“同意”的?

APUS研究院 白鲸出海 2019-03-30

作者:APUS 研究院(ID:apusapps)

很多人认为,因为条件的苛刻,“同意”作为传统的用户让渡数据权利的途径,在 GDPR 的语境下已经丧失了存活的空间。但我们观察到,大量的互联网企业仍然把取得“同意”作为处理用户数据、提供互联网服务的重要依据。


白鲸出海注:本文是 APUS 研究院发布在白鲸出海 APUS 专栏、GDPR 系列文章中的第六篇。转载须保留本段文字,并注明作者和来源。商业转载/使用请前往 APUS 主页,联系寻求作者授权。


回顾 APUS 该系列其他文章:《出海企业 GDPR 合规的痛点》(系列之一)、《用户条款,如何让用户“同意”才合规》(系列之二)、《全球首例 GDPR 案件分析》(系列之三)、《GDPR 大背景下,达成合规标准之项目管理指导》(系列之四)、《GDPR 合规下的 App 产品设计——启动页面和账号注册》(系列之五)。


如我们之前介绍,一方面,GDPR 对有效的“同意”设置了比较严格的条件;另一方面,“同意”是处理用户数据最为稳妥的法律依据。


Google 在提供个性化广告变现服务时,要求下游发布方就其采集和使用用户数据,需要取得用户明确的“同意”。为了支持下游发布方更好的履行它的规定,Google 提供了 Consent SDK。


本文将以 Google 提供的 Consent SDK(以下简称“Consent SDK”)为范例,从产品逻辑和技术实现路径上讨论 Google 是如何设计并取得用户的“同意”。


一、我们先从界面上分析 Consent SDK 的产品逻辑


1. 授权页


如果是欧盟用户、且用户没有授权,可以调用 Consent 的接口打开以下画面(全屏弹窗):



此页面包含四个元素:


元素一:应用的名称和应用 icon。


元素二:提示应用通过展示广告保持软件免费,并提问是否可以使用数据提供个性化广告内容。


元素三:提示用户可以查看 200 多个广告技术提供商以及它们对应的隐私页信息。


元素四:针对元素二的问题,给出三个不同的选项按键,分别表示:


1)同意查看个性化广告;

2)同意查看非个性化广告;

3)使用付费版本的应用而不是查看广告。


2. 点击查看广告技术提供商信息


在上面的元素三中提到用户可以点击“Learn how App and our 200 partners collect and usedata”进入展示广告技术提供商列表,点击可以展示对应提供商的隐私页信息。



如上图步骤二页面,可点击任意一个广告商的气泡框进入其对应的隐私页面(如上图步骤三);点击“How App uses your data”按键可以进入应用自身的隐私协议页面(如上图步骤四);点击“Back”键可以返回到步骤一页面。


3. 点击授权按钮区域


在授权页面,禁用 back 按键,用户必须明确做出选择,才能继续进行后续的操作。在点击授权按钮区域,有三个选项(如下图):



· 当选择选项一“Yes, continue to see relevant ads”——同意查看个性化广告,关闭对话框。


· 当选择选项二“No, see ads that are less relevant”——同意查看非个性化广告,会出现 App 的挽留页面(如下图页面一)。挽留界面的文案内容包括以下几个部分:


1)声明尊重用户选择,用户可随时在设置中更改选择;

2)App 的隐私协议入口;

3)设置“Back”与“Agree”按键。



· 当选择选项三“Pay for the ad-free version”——购买无广告版本时,会跳转至 Google Play 界面(如下图选项三),用户可以根据需要购买 App 付费无广告版本。



综上分析,Consent SDK 要求用户必须在给定的选项中做出选择。在保证透明度的前提下(比如用户可以仔细阅读各个广告技术提供商的隐私信息),引导用户授权“同意”或者付费。Consent SDK 提供接口可以控制三个按钮的展示,如果产品没有付费版,可以控制 SDK 不展示付费跳转的按钮。


二、我们继续从技术的维度剖析实现上述逻辑的路径


1. 执行的总体流程



如上图,每次启动应用时,优先调用 requestConsentInfoUpdate() 接口,从云端获取一些基础数据。比如是否是欧盟用户、广告技术提供商信息等。然后基于上述基础数据,通过 consentForm 接口构建授权页。授权页是一个全屏对话框,是以 webview 打开的全屏可配置的表单。我们可以配置表单以向用户显示以下选项的组合:


1)同意查看个性化广告;

2)同意查看非个性化广告;

3)使用付费版本的应用而不是查看广告。


备注:如果你觉得授权页里面的文案不合适或者不支持多语言,可以修改 SDK 里面提供的 consentform.html 文件。


2. requestConsentInfoUpdate 接口


其主要作用是从云服务接口【1】获取相应的基础数据。工作流程图如下:



· 请求数据:



· 请求样例:

正常请求:


https://adservice.google.com/getconfig/pubvendors?pubs=pub-XXXXXX&es=2&plat=android&v=1.0.6


调试直接当成欧洲用户请求:


https://adservice.google.com/getconfig/pubvendors?pubs=pub-XXXXXX&es=2&plat=android&v=1.0.6&debug_geo=1


· 返回数据(返回的数据是 json 格式):



· 返回样例



3. ConsentForm 接口


ConsentForm 是用于构建授权页的关键类,通过方法:


1)withPersonalizedAdsOption();

2)withNonPersonalizedAdsOption();

3)withAdFreeOption()。


可以组合出来上面产品分析的授权按钮区域的组合。它的工作流程如下:



4. isRequestLocationInEeaOrUnknown 接口


该接口会返回该用户是否属于欧盟用户,但是必须要正确执行 requestConsentInfoUpdate 接口后,才能够真实有效,否则返回的都是 false。实验证明,判断是否是欧盟用户的依据是通过 IP 判断的。在 Google《欧盟地区用户意见征求政策》可以找到这样的描述【2】:


EEA 包括欧盟成员国、冰岛、列支敦士登和挪威。我们的广告投放行为以用户的 IP 地址为依据。


5. getConsentStatus 接口


该接口返回,用户最终选择授权页的接口状态。分别为:



以上是我们以 Google 产品为例,从产品和技术维度就取得用户“同意”进行的分析。这个 Consent SDK 是一个开源项目,如果大家有兴趣想进一步的学习和研究,可以参考以下资料:


官方资料:

https://developers.google.com/admob/android/eu-consent


所有的开源代码:

https://github.com/googleads/googleads-consent-sdk-android


【注释】:

[1] https://adservice.google.com/getconfig/pubvendors

[2] https://support.google.com/dfp_premium/answer/7673898#ads


【参考资料】:

https://support.google.com/dfp_premium/answer/7673898#ads

https://support.google.com/admob/answer/7666519#providers

https://developers.google.com/admob/android/eu-consent


了解更多GDPR知识,发送“GDPR”给您看白鲸出海策划的最新文章!

本文由 jqyjr 编辑排版

推荐阅读

AWE海外流量展召开,中国出海企业参展前线速递

【干货!】App 优化及海外运营推广要关注哪些核心数据?

电影《我不是药神》爆火启示录,全球心理健康治疗类APP崛起

20亿卖身爱奇艺,天象互动能在海外复制影游联动的成功案例吗?

APP海外推广如何吸纳4亿+的球迷用户 来看看Facebook这份世界杯报告


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存