2014年7月9日
访客文章:AgeCheq 让遵守 COPPA 法规变得简单!
这篇访客文章由 AgeCheq 的游戏开发者关系总监 Tyler Smith 撰写。自 2010 年进入游戏开发社区以来,他参加了无数的应用和游戏开发黑客马拉松、游戏展会和贸易展。 2013 年,Tyler 在英特尔担任 HTML5 游戏开发人员,在那里他教移动开发人员如何使用 HTML5 进行游戏开发。
如果您正在制作手机游戏,那么您的目标受众通常是儿童。如果您的游戏要在美国应用商店中发布,则需要采取一些额外的步骤,在从儿童收集任何 PII(个人身份信息)之前获得经过验证的父母同意。
1.0 COPPA 简史
在美国,自 2000 年代初以来,一项法律生效,要求网站对使用网络的儿童采取预防措施。这项法律被称为 COPPA,即《儿童在线隐私保护法》。 COPPA 的更新版本于 2013 年 7 月 1 日通过。 此新更新更多地涉及移动应用程序和数据收集。它包含更多关于您允许从用户收集哪些内容以及如何在收集任何数据之前验证父母同意的限制和指南。
有关 COPPA 以及该法律如何适用于游戏开发人员的更多信息,请访问:http://www.agecheq.com/?page_id=12
2.0 合规性
COPPA 法律概述了获取父母同意的非常具有侵入性的做法。试图创建一个符合所有这些准则的基础设施会扼杀独立游戏的预算。 AgeCheq 为 Corona 工具制作了一个简单的 SDK,因此独立开发人员可以为孩子们创建游戏,而不必担心建立 COPPA 合规生态系统的麻烦。使您的游戏符合 COPPA 标准的基本服务对开发人员和父母都是免费的。以下是如何将 AgeCheq SDK 添加到您使用 Corona 构建的应用程序中。
3.0 AgeCheq SDK 入门
访问 http://documentation.agecheq.com/?page=corona#headerSection 下载 AgeCheq Corona SDK。您还会找到一些有用的文档和一个逐步引导您完成这些步骤的教程视频。
现在您已经下载了 SDK,请解压缩这些文件并将它们放在您保存其他 Corona 文件的位置。此 SDK 有一个主视图,显示了如何使用 AgeCheq API 中的所有调用。为了使用 SDK,您需要在 http://developer.agecheq.com/ 注册一个免费的 AgeCheq 开发人员帐户,以便您可以访问开发人员密钥和应用程序 ID。
注册后,单击左侧的“添加应用程序”按钮。在这里,您应该填写所有适用于您游戏的字段。
填写所有信息后,单击保存按钮。现在您应该在屏幕左侧看到您的新应用程序。单击它,为您生成的新应用程序 ID 将出现在屏幕顶部。在右上角还有一个标记为披露的按钮。您可以在其中输入所有关于您收集、存储和共享的数据的信息。
获得凭据后,打开 SDK 中的 main.lua 文件。在 65 行附近,您应该看到 developerKey 和 appID 变量。将仪表板中的新凭据插入到这些变量中。如果您刷新模拟器,您现在将看到一个视图,其中现在在注册按钮旁边显示一个输入框。完成此操作后,SDK 中的所有测试 API 功能都将起作用。要使用家长授权完全测试 SDK,您还需要在 http://www.parent.agecheq.com 注册一个家长帐户。
拥有家长帐户后,在用户名文本框中输入您创建的用户名,然后单击“注册设备”按钮。这将触发一个 network.request 命令,如下所示
1 2 3 4 5 6 7 8 9 10 |
local base_URL = "https://developer.agecheq.com/" local registerURL = base_URL .. "developers/" .. developerKey .. "/devices/" .. deviceID .. "/registerdevice" local registerHandler = function( event ) callType = "reg" local body = "username=".. username.text.."&devicename=New Device" local params = {} params.body = body network.request( registerURL, "POST", networkListener, params) end |
在 networkListener 回调中,我们检查以确保调用正确完成。如果确实如此,那么我们将调用“检查”network.request 来提交该应用程序以获得父母的批准。由于此命令具有 appID,因此父仪表板现在知道该应用程序尝试在其上授权的设备和帐户。该回调函数如下所示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
local base_URL = "https://developer.agecheq.com/" local checkURL = base_URL .. "developers/" .. developerKey .. "/devices/" .. deviceID .. "/applications/" .. appID .. "/check" local function networkListener( event ) … if callType == "reg" then if json.rtn == "ok" then callType = "check" network.request( checkURL, "GET", networkListener) else t.text = json.rtn end end ... |
现在返回父级仪表板,您应该会在左下方看到一个新的设备警报。单击它,您将看到您的应用程序在屏幕中间请求授权,如下所示
此时,家长会单击“隐私披露”按钮,并查看您动态生成的披露信息。
如果他们同意您的游戏将要收集的数据,他们会滑动滑块以授权您的游戏。现在执行此操作,然后返回 Corona Simulator。如果您选择“检查授权”按钮,您会得到应用程序已授权的回复。此时,您就可以开始您的游戏并让用户玩了。
4.0 其他实现方式
在您的游戏中实现 AgeCheq 时,有一些技巧可以帮助减少用户在游戏开始时遇到的摩擦。第一个技巧是在完成 1-2 个关卡后显示 AgeCheq 屏幕。这允许用户在被告知停止并获得家长许可之前熟悉游戏。需要注意的是,在用户授权应用程序之前,您不能收集任何 PII(个人身份信息)。
第二个技巧是使用年龄门来确定用户是否需要通过 AgeCheq 流程。这适用于不专门针对儿童的游戏,但很可能有儿童在玩游戏。这些类型的游戏被归类为“大众化受众”。最初,您只需显示一个类似于 AgeCheq SDK 屏幕底部的屏幕。要求用户输入出生年份、月份和日期。在他们输入信息并点击提交后,请求将如下所示
1 2 3 4 5 6 7 8 9 10 |
local base_URL = "https://developer.agecheq.com/" local agegateURL = base_URL .. "developers/" .. developerKey .. "/devices/" .. deviceID .. "/agegatedevice" local agegateHandler = function( event ) callType = "agegate" local body = "dobyear=" .. agegateDOBYear.text .. "&dobmonth=" .. agegateDOBMonth.text .. "&dobday=" .. agegateDOBDay.text local params = {} params.body = body network.request( agegateURL, "POST", networkListener, params) end |
年龄门现在已在该帐户上设置。要查看用户是否大于 13 岁,只需使用“check”命令,查看 under13 是 true 还是 false(在返回的 JSON 中的 data.agegate 下找到)。如果他们未满 13 岁,请停止您的应用程序并让他们通过 AgeCheq 验证流程。如果他们大于 13 岁,只需允许他们开始玩即可。
如果您对 AgeCheq、COPPA 或在您的游戏中实现 AgeCheq 有任何疑问,您可以发送电子邮件至 [email protected],我很乐意提供帮助。
Vince
发布于 14:03,7 月 10 日哇,这太棒了!我几周前就在查找这个,所以很高兴看到一篇文章直接解决这个问题。我不想因为这样的事情惹上麻烦。感谢您使实施变得如此容易 🙂
Jeff Leigh
发布于 14:10,7 月 10 日所以这基本上是一种“我正在尽我所能”来遵守 COPPA 的方法吗?
例如:“如果他们大于 13 岁,只需允许他们开始玩即可。”
如何阻止孩子退出应用程序,然后返回并输入新的日期?孩子们并不傻。
那么,我们作为开发者,是否因为“我们问了”就得到了保障?
Karen D
发布于 14:34,7 月 10 日是的,就像 Jeff 说的那样。年龄检查有点像笑话,但这是我们能做的最好的了。我们作为网站所有者、开发者或任何需要使用年龄门的人,不对未成年人所说的谎言负责。除非 NSA 想让我们接入他们的数据库,其中可能包含地球上每个人的真实年龄。哈哈哈
AgeCheqTyler
发布于 15:34,7 月 10 日在法律中,他们明确表示理解孩子们会撒谎,开发者只能做这么多。我认为这项法律的意图实际上是强制实施对儿童的最大程度的安全保护。
以下是 COPPA 常见问题解答中的一段摘录
“如果您选择在您的大众化受众网站或服务上阻止 13 岁以下的儿童,您应该注意以一种不会鼓励儿童伪造年龄以访问您的网站或服务的方式设计您的年龄屏幕。在您邀请访问者提供个人信息或创建用户 ID 时,以中立的方式询问年龄信息。”
只要您不鼓励伪造,那么是的,我们作为开发者就得到了保障。
有关 FTC 本身对该问题的更深入解答,您可以查看此 COPPA 常见问题解答表: http://www.business.ftc.gov/documents/0493-Complying-with-COPPA-Frequently-Asked-Questions#General 受众
Tamela Georgeson
发布于 10:19,3 月 12 日COPPA 非常薄弱,我们的年轻人非常聪明。即使是我 8 岁的孩子也知道如何要求我绕过 Pandora 年龄筛选机制。所以,让他们填写您的帐户表格。一旦 BOD 验证为通过/不通过,就从您的数据库中删除 PII。如果他们不通过,您可以丢弃一个 cookie 并禁用注册屏幕,并显示一条错误通知,但不要透露他们收到错误的原因。