• 0
Google的开源Consent解决方案解析【APUS研究院|GDPR实战指南(六)】
统计 阅读时间大约5分钟(1878字)

2018-07-18 15:20:51 Google的开源Consent解决方案解析【APUS研究院|GDPR实战指南(六)】

大量的互联网企业仍然把取得“同意”作为处理用户数据、提供互联网服务的重要依据。

猎云网注:本文将以Google提供的Consent SDK(以下简称“Consent SDK”)为范例,从产品逻辑和技术实现路径上讨论Google是如何设计并取得用户的“同意”。文章来源:APUS(ID:apusapps),作者:APUS研究院。

如我们之前介绍,一方面,GDPR对有效的“同意”设置了比较严格的条件;另一方面,“同意”是处理用户数据最为稳妥的法律依据(请参考前作《“同意”,没那么简单》)。

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

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

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

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

1、授权页

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

a1.jpg

此页面包含四个元素:

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

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

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

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

1)同意查看个性化广告

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

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

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

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

a2.jpg

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

3、点击授权按钮区域

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

a3.jpg

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

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

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

2)App的隐私协议入口

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

a4.jpg

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

a5.jpg

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

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

1、执行的总体流程

a6.jpg

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

1)同意查看个性化广告

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

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

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

2、requestConsentInfoUpdate接口

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

a7.png

请求数据:

a9.jpeg

请求样例:

正常请求:

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格式):

a10.jpeg

 返回样例

a11.jpeg

3、ConsentForm接口

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

1)withPersonalizedAdsOption()

2)withNonPersonalizedAdsOption()

3)withAdFreeOption()

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

a8.png

4、isRequestLocationInEeaOrUnknown接口

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

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

5、getConsentStatus接口

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

a12.jpeg

以上是我们以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系列文章阅读:

APUS研究院|GDPR实战指南(一)写给出海的伙伴:GDPR,一个可以讨论的话题

APUS研究院|GDPR实战指南(二)“同意”,没那么简单

APUS研究院|GDPR实战指南(三)全球首例GDPR案件分析

APUS研究院|GDPR实战指南(四)浅谈企业GDPR合规中的项目管理

APUS研究院|GDPR实战指南(五)移动App的产品设计——启动页面和账号注册实例

介绍:APUS研究院,致力于研究数据合规的前沿问题,持续跟进高新行业的合规热点和动态。

1、猎云网原创文章未经授权转载必究,如需转载请联系官方微信号进行授权。
2、转载时须在文章头部明确注明出处、保留官方微信、作者和原文超链接。如转自猎云网(微信号:ilieyun
)字样。
3、猎云网报道中所涉及的融资金额均由创业公司提供,仅供参考,猎云网不对真实性背书。
推荐阅读
{{item.author_display_name}}
{{item.author_display_name}}
{{item.author_user_occu}}
{{item.author_user_sign}}
×