Commencer

Conformément aux Règles de Google relatives au consentement de l'utilisateur dans l'UE, vous devez divulguer certaines informations à vos utilisateurs situés dans l'Espace économique européen (EEE) et au Royaume-Uni, et obtenir leur consentement pour utiliser des cookies ou toute autre méthode de stockage en local, lorsque la législation l'impose, et pour utiliser des données à caractère personnel (comme l'identifiant publicitaire) afin de diffuser des annonces. Ces règles reflètent les exigences de la directive vie privée et communications électroniques de l'UE, et celles du Règlement général sur la protection des données (RGPD).

Pour aider les éditeurs à satisfaire aux obligations qui leur sont imposées par ce règlement, Google propose le SDK UMP (User Messaging Platform). Le SDK UMP a été mis à jour pour être compatible avec les dernières normes de l'IAB. Toutes ces configurations peuvent désormais être gérées facilement dans AdMob la section "Confidentialité et messages".

Conditions préalables

Créer un type de message

Créez des messages destinés aux utilisateurs avec l'un des types de messages disponibles Le SDK UMP tente d'afficher un message utilisateur créé à partir de l' AdMob ID d'application défini dans votre projet. Si aucun message n'est configuré pour votre application, le SDK renvoie une erreur.

Pour en savoir plus, consultez À propos de la confidentialité et des messages.

Vous devez demander une mise à jour des informations de consentement de l'utilisateur à chaque lancement d'application, à l'aide de Update(). Cela détermine si l'utilisateur doit donner son consentement s'il ne l'a pas déjà fait ou s'il a expiré.

Voici un exemple de vérification de l'état au démarrage de l'application:

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
}

Charger et afficher un formulaire de consentement si nécessaire

Important: Les API suivantes sont compatibles avec la version 2.1.0 ou ultérieure du SDK UMP.

Une fois que vous avez reçu l'état de consentement le plus récent, appelezLoadAndShowConsentFormIfRequired() dans la classeConsentForm pour charger un formulaire de consentement. Si l'état de consentement est requis, le SDK charge un formulaire et l'affiche immédiatementfourni. La Action<FormError> callback est appelée une fois le formulaire fermé. Si le consentement n'est pas requis, Action<FormError> callback est appelée immédiatement.

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }
    

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
    });
}

Si vous devez effectuer des actions après que l'utilisateur a fait un choix ou ignoré le formulaire, placez cette logique dans le Action<FormError> callbackde votre formulaire.

Demander des annonces

Avant de demander des annonces dans votre application, vérifiez si vous avez obtenu le consentement de l'utilisateur à l'aide de . Il y a deux endroits pour vérifier le consentement des utilisateurs:

  1. Une fois le consentement obtenu dans la session en cours.
  2. Immédiatement après avoir appelé Update(). Il est possible que le consentement ait été obtenu lors de la session précédente. Pour des raisons de latence, nous vous recommandons de ne pas attendre la fin du rappel. Vous pourrez ainsi commencer à charger des annonces dès que possible après le lancement de votre application.

Si une erreur se produit pendant le processus de collecte du consentement, vous devez toujours essayer de demander des annonces. Le SDK UMP utilise l'état de consentement de la session précédente.

void Start()
{
    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

void OnConsentInfoUpdated(FormError consentError)
{
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }

    // If the error is null, the consent information state was updated.
    // You are now ready to check if a form is available.
    ConsentForm.LoadAndShowConsentFormIfRequired((FormError formError) =>
    {
        if (formError != null)
        {
            // Consent gathering failed.
            UnityEngine.Debug.LogError(consentError);
            return;
        }

        // Consent has been gathered.
        if (ConsentInformation.CanRequestAds())
        {
            MobileAds.Initialize((InitializationStatus initstatus) =>
            {
              // TODO: Request an ad.
            });
        }
    });
    
}

Options de confidentialité

Certains formulaires de consentement nécessitent que l'utilisateur modifie son consentement à tout moment. Si nécessaire, suivez les étapes ci-dessous pour implémenter un bouton d'options de confidentialité.

Pour cela, les opérations suivantes sont nécessaires :

  1. Implémentez un élément d'interface utilisateur, tel qu'un bouton sur la page des paramètres de votre application, qui peut déclencher un formulaire d'options de confidentialité.
  2. Une fois l'opération LoadAndShowConsentFormIfRequired() terminée, vérifiez pour déterminer si l'élément d'interface utilisateur pouvant présenter le formulaire d'options de confidentialité doit être affiché.
  3. Lorsqu'un utilisateur interagit avec votre élément d'interface utilisateur, appelez pour afficher le formulaire afin qu'il puisse mettre à jour ses options de confidentialité à tout moment.

L'exemple suivant montre comment afficher le formulaire d'options de confidentialité à partir d'un Button.

[SerializeField, Tooltip("Button to show the privacy options form.")]
private Button _privacyButton;

private void Start()
{
  // Enable the privacy settings button.
  if (_privacyButton != null)
  {
      _privacyButton.onClick.AddListener(UpdatePrivacyButton);
      // Disable the privacy settings button by default.
      _privacyButton.interactable = false;
  }
}

/// <summary>
/// Shows the privacy options form to the user.
/// </summary>
public void ShowPrivacyOptionsForm()
{
    Debug.Log("Showing privacy options form.");

    ConsentForm.LoadAndShowConsentFormIfRequired((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form with error: " + showError.Message);
        }
        // Enable the privacy settings button.
        if (_privacyButton != null)
        {
            _privacyButton.interactable =
                ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
        }
    });
}

Tests

Si vous souhaitez tester l'intégration dans votre application au cours du développement, suivez les étapes ci-dessous pour enregistrer votre appareil de test de manière programmatique.

  1. Appelez le Update().
  2. Dans la sortie du journal, recherchez un message semblable à celui ci-dessous, qui indique l'ID de votre appareil et comment l'ajouter en tant qu'appareil de test :

    Android

    Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.

    iOS

    <UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
  3. Copiez l'ID de votre appareil de test dans le presse-papiers.

  4. Modifiez votre code pour qu'ilappel DebugGeography.TestDeviceHashedIds et transmettezla liste de vos ID d'appareils de test.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        TestDeviceHashedIds =
        new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

Forcer une zone géographique

Le SDK UMP permet de tester le comportement de votre application comme si l'appareil était situé dans l'EEE ou au Royaume-Uni à l'aide de the DebugGeography field on ConsentDebugSettings. Notez que les paramètres de débogage ne fonctionnent que sur les appareils de test.

void Start()
{
    var debugSettings = new ConsentDebugSettings
    {
        // Geography appears as in EEA for debug devices.
        DebugGeography = DebugGeography.EEA,
        TestDeviceHashedIds = new List<string>
        {
            "TEST-DEVICE-HASHED-ID"
        }
    };

    // Set tag for under age of consent.
    // Here false means users are not under age of consent.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        TagForUnderAgeOfConsent = false,
        ConsentDebugSettings = debugSettings,
    };

    // Check the current consent information status.
    ConsentInformation.Update(request, OnConsentInfoUpdated);
}

Lorsque vous testez votre application avec le SDK UMP, il peut être utile de réinitialiser l'état du SDK afin de pouvoir simuler la première expérience d'installation d'un utilisateur. Pour ce faire, le SDK fournit la méthode Reset() .

ConsentInformation.Reset();