The DataPrivacy
class configures the Unity Analytics service based on the player’s data privacy management choices.
NAMESPACE: UnityEngine.Analytics
public class DataPrivacy
The DataPrivacy
class automatically fetches the player’s data privacy status and configures the Analytics service accordingly.
Use the FetchPrivacyUrl()
function to fetch the the URL of the player’s personal data management page. Open the URL to give the player the option to manage their data privacy settings.
This page details three functions:
Prepares the Data Privacy API for use.
public static void Initialize()
This function creates a hidden GameObject and adds an instance of the DataPrivacy
class to it as a component.
On Unity 5.1 or earlier, call Initialize()
early in your application startup (ideally, right after you call UnityAnalytics.StartSDK (projectId)
. Newer versions of Unity call Initialize()
automatically.
Fetches the player’s current opt-out status and configures the Unity Analytics service.
public static void FetchOptOutStatus(Action<bool> optOutAction = null)
Action<bool> optOutAction
— The Action object to invoke when Unity has fetched the player’s opt-out status. The boolean parameter passed to your Action is true
if the player has opted out of personal data collection, and false
if they have not.The function configures the Analytics service as appropriate for the player’s data collection choices. Unity caches the status for use when the player’s computer or device is offline.
Unity calls FetchOptOutStatus()
automatically when your game launches. You should also call the function when the player returns to your app after closing the data privacy management URL, to immediately apply any changes they made while on that page.
You can also use FetchOptOutStatus()
and pass an Action<bool>
function parameter to get a player’s opt-out choice. The plug-in invokes the optOutAction
function you provide when the network fetch request is complete. The boolean argument passed to your action is true
when the player has opted out and false
, if they have not. If the network request for the player’s status fails, Unity calls your optOutAction
function with the cached value (or false
, if the status has never been set).
void OnOptOutStatus(bool optOut)
{
if(optOut)
{
Debug.Log("Player has opted-out of personal data collection.");
}
}
// ...
DataPrivacy.FetchOptOutStatus(OnOptOutStatus);
Gets the URL of the player’s personal data management page.
public static void FetchPrivacyUrl(Action<string> success, Action<string> failure = null)
Action<String> success
— The Action object to invoke when the URL is successfully retrieved. The string passed to the Action contains the URL.
[optional] Action<String> failure
— The Action object to invoke when Unity cannot retrieve the URL. The string passed to the Action contains the reason for the failure.
Open the URL passed to your success
function in a browser or webview to give the player the opportunity to manage their data protection options. Use Application.OpenURL()
to open the page.
The URL is valid for a short period of time. Always fetch the URL immediately before opening it.
Call FetchOptOutStatus()
after the player returns to your game to apply any changes immediately. Otherwise, Unity applies any changes to data collection the next time the player launches your game.