Data Privacy

Table of Contents

Introduction

Homa Games allows you to easily integrate a General Data Protection Regulation (GDPR) & Identifier For Advertising (IDFA) workflow within your app in order to fully inform your users about all the legal requirements.

The complete workflow can be resumed as:

  1. Users will be presented with general tracking options (opt in or opt out). If they so desire, they can see in details all the trackers registered, and change settings for each tracker individually.
  2. Later in the game, users should be able to modify their data access rights.

 

Data Privacy and iOS 14 IDFA

Data Privacy includes an automatic flow for iOS 14 IDFA content pop-up. There is no specific action you need to do for this to be shown: Homa Belly will show it on every iOS device for you (starting on iOS 14.5 or higher). You can change the message shown in Homa Belly Settings.

Usage

Showing Data Privacy upon first install

ℹ️ Starting with Homa Belly Core v1.6.0, Data Privacy is embedded within Core package. Configuration is now fully automated.

Homa Belly will automatically add one DataPrivacy scene. It should stay as the first scene of the builds, and will show content depending on player location and OS.

 

Showing Data Privacy from settings screen

⚠️ NOTICE! This popup is usually shown through a button in your Settings menu.

Please label your button with the label "Privacy Settings" as it is highly related to regulations

We highly recommend to hide that button on those countries where Data Privacy is not mandatory. In order to know if the user is currently under a GDPR mandatory country, use the property HomaGames.HomaBelly.DataPrivacy.Manager.IsGdprProtectedRegion.

This property will return true if the user must see the Data Privacy settings or false otherwise.

Whenever you need to show Data Privacy UI again within your game (i.e: allowing users to change their consent through a settings button), just invoke the UI with ShowDataPrivacySettings:

if (HomaGames.HomaBelly.DataPrivacy.Manager.IsGdprProtectedRegion) {
    HomaGames.HomaBelly.DataPrivacy.Manager.Instance.ShowDataPrivacySettings(); 
}

To know when the screen is closed, you can await the Task returned by this method.


Advanced Configuration

Accessing user's decisions

If you need to read user's decisions regarding their access rights for your convenience, use any of the below methods, accessible through HomaGames.HomaBelly.DataPrivacy.Manager.Instance

⚠️ NOTICE: If using Homa Belly, yo do not need to manually inform about user's choices. Homa Belly will automatically read those for you.

/// <summary>
/// Obtain either if user is above required age or not.
/// </summary>
/// <returns>True if user explicitly asserted being above the required age. Flase othwerise</returns>
public bool IsAboveRequiredAge();

/// <summary>
/// Obtain either if user accepted Terms & Conditions or not.
/// </summary>
/// <returns>True if user accepted Terms & Conditions. False otherwise</returns>
public bool IsTermsAndConditionsAccepted();

/// <summary>
/// Obtain either if user granted Analytics tracking or not.
/// </summary>
/// <returns>True if user granted Analytics tracking. False otherwise</returns>
public bool IsAnalyticsGranted();

/// <summary>
/// Obtain either if user granted Tailored Ads permission or not.
/// </summary>
/// <returns>True if user granted Tailored Ads permission. False otherwise</returns>
public bool IsTailoredAdsGranted();

Example

This example shows how to register to callbacks to get notified when the GDPR UI is shown and dismissed.

using UnityEngine.Events;

public class ShowGDPRExample : MonoBehaviour
{
    public UnityEvent AfterGdprClosed;

    public async void ShowGdpr()
    {
        await HomaGames.HomaBelly.DataPrivacy.Manager.Instance.ShowDataPrivacySettings();
        AfterGdprClosed.Invoke();
    }
}