Parental Control

Creating Parental Control

The tutorial discusses the 3 most common scenarios for parental control

With the changes in the Children’s Online Privacy Protection Act, or COPPA, no app targeting children can offer these things

Although extremely important, these requirements adds complexities to any developer willing to promote theirs services to parents of your users. In order to address the need of communication inside the app, parental controls or gates are now necessary, to avoid kids getting access to adult content.

Moms With Apps website wrote a extensive posting with examples from different studios. We strongly recommend the full reading, not only for learning more, but also for some ideas of how to implement your own gates with Kwik.

As you will read there, no parental control is child proof, especially when targeting children who can read and perform simple math. Nevertheless, without any of them your app will not be approved by the major stores, even if you only added a link to the app website.

Accessing content via gesture

The idea of this gate is to capture a “non-common” gesture before sending the parent to the adult page (in most cases this “adult page” is a page with information about the company behind the app, rating access, links to Facebook and Twitter, and so on).

Justin’s World (as well as Nosy Crow) uses this option:

While gestures in Kwik are very common and easy to access, via the Interactions Toolbox, they require a single finger (only mandatory exception is the Pinch, which naturally requires two fingers to work) to perform. Having a regular swipe (or drag) in the example above would not make any sense because any child would be able to, by try and error, swipe in any direction with his/her small finger.

So, how to enable mandatory gesture with more than one finger in Kwik?

Before

function _M:allListeners(UI)
    ...
     _K.MultiTouch.activate( dragLayer, "move", "single", {} )
    ...
end

After

function _M:allListeners(UI)
    ...
     _K.MultiTouch.activate( dragLayer, "move", "multi", {} )
    ...
end

Swipe does not support multi finger

Accessing content via question and answer

This approach is pretty common. A question is presented and, depending on users answer, the gate is unlocked. Some uses multiple choices for answer entry, while others prefer the direct input mode.

77Sparx asks if you are an adult, and verifies with a math equation.

If you plan to use a multiple choice, take a look at our Creating a Quiz tutorial, as the basis is the same. If you plan the direct input approach, the video below may offer some guidance:

Accessing content via timed gesture

This is becoming more common now. Basically you need to press a button, or swipe an image, for a pre-determined amount of time. For example, “press the button for 5 seconds”. The team from Rocket Gamelabs was the first to implement this approach using Kwik.

As you may imagine, this requires more planning and some external code.

External codes for Action

Edit button lua for adding onRelease = onTimeBtnEventRelease

components/page01/timedBtn_button_but_timed.lua

Enjoy!