Premiers pas

Sélectionnez une plate-forme : Android iOS Unity Flutter

Le SDK Google UMP (User Messaging Platform) est un outil de confidentialité et de messagerie qui vous aide à gérer les choix de confidentialité. Pour en savoir plus, consultez À propos de "Confidentialité et messages".

Créer un type de message

Créez des messages destinés aux utilisateurs à l'aide de l'un des types de messages disponibles sous l'onglet Confidentialité et messages de votre compte Ad Manager. Le SDK UMP tente d'afficher un message de confidentialité créé à partir de l'ID d'application Ad Manager défini dans votre projet.

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 de l'application, à l'aide de Update(). Cette requête vérifie les éléments suivants :

  • Indique si le consentement est requis. Par exemple, le consentement est requis pour la première fois ou la décision de consentement précédente a expiré.
  • Indique si un point d'entrée des options de confidentialité est requis. Certains messages de confidentialité exigent que les applications permettent aux utilisateurs de modifier leurs options de confidentialité à tout moment.
void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

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

void OnConsentInfoUpdated(FormError consentError)
{
    // If the error is null, the consent information state was updated.
    if (consentError != null)
    {
        // Handle the error.
        UnityEngine.Debug.LogError(consentError);
        return;
    }
}

Charger et présenter le formulaire de message concernant la confidentialité

Une fois que vous avez reçu l'état du consentement le plus récent, appelez LoadAndShowConsentFormIfRequired() pour charger les formulaires requis pour recueillir le consentement de l'utilisateur. Une fois chargés, les formulaires s'affichent immédiatement.

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // 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.
    });
}

Options de confidentialité

Certains formulaires de messages sur la confidentialité sont présentés à partir d'un point d'entrée des options de confidentialité affiché par l'éditeur, ce qui permet aux utilisateurs de gérer leurs options de confidentialité à tout moment. Pour en savoir plus sur le message que vos utilisateurs voient au point d'entrée des options de confidentialité, consultez Types de messages utilisateur disponibles.

Pour implémenter un point d'entrée des options de confidentialité, procédez comme suit :

  1. Après avoir appelé Update(), vérifiez PrivacyOptionsRequirementStatus pour déterminer si un point d'entrée des options de confidentialité est requis.
  2. Si nécessaire, ajoutez un élément d'interface utilisateur visible et interactif à votre application pour servir de point d'entrée aux options de confidentialité. Si un point d'entrée de confidentialité n'est pas requis, configurez votre élément d'UI pour qu'il ne soit pas visible ni interactif.
  3. Présentez le formulaire d'options de confidentialité à l'aide de ShowPrivacyOptionsForm().

L'exemple de code suivant illustre ces étapes :

[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.ShowPrivacyOptionsForm((FormError showError) =>
    {
        if (showError != null)
        {
            Debug.LogError("Error showing privacy options form with error: " + showError.Message);
        }
        // Enable the privacy settings button.
        UpdatePrivacyButton();
    });
}

/// <summary>
/// Updates the privacy buttons visual state based on the consent information.
/// </summary>
void UpdatePrivacyButton()
{
    if (_privacyButton != null)
    {
        _privacyButton.interactable =
            ConsentInformation.PrivacyOptionsRequirementStatus ==
                PrivacyOptionsRequirementStatus.Required;
    }
}

Demander des annonces avec le consentement de l'utilisateur

Avant de demander des annonces, utilisez CanRequestAds() pour vérifier si vous avez obtenu le consentement de l'utilisateur :

Voici les endroits où vous pouvez vérifier si vous pouvez demander des annonces tout en recueillant le consentement :

  • Une fois que le SDK UMP a recueilli le consentement lors de la session en cours.
  • Immédiatement après avoir appelé Update(). Le SDK UMP peut avoir obtenu le consentement lors de la session précédente de l'application.

Si une erreur se produit lors du processus de collecte du consentement, vérifiez si vous pouvez demander des annonces. Le SDK UMP utilise l'état du consentement de la session précédente de l'application.

void Start()
{
    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters();

    // 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.
            });
        }
    });
    
}

Tests

Si vous souhaitez tester l'intégration dans votre application pendant que vous la développez, suivez ces étapes pour enregistrer votre appareil de test de manière programmatique. Veillez à supprimer le code qui définit ces ID d'appareils de test avant de publier votre application.

  1. Appelez Update().
  2. Consultez la sortie du journal pour trouver un message semblable à l'exemple suivant, 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 appeler DebugGeography.TestDeviceHashedIds et transmettre une liste des ID de vos appareils de test.

    void Start()
    {
        var debugSettings = new ConsentDebugSettings
        {
            TestDeviceHashedIds =
            new List<string>
            {
                "TEST-DEVICE-HASHED-ID"
            }
        };
    
        // Create a ConsentRequestParameters object.
        ConsentRequestParameters request = new ConsentRequestParameters
        {
            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 différentes régions, telles que l'EEE ou le Royaume-Uni, à l'aide de DebugGeography. 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"
        }
    };

    // Create a ConsentRequestParameters object.
    ConsentRequestParameters request = new ConsentRequestParameters
    {
        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 simuler la première expérience d'installation d'un utilisateur. Le SDK fournit la méthode Reset() pour ce faire.

ConsentInformation.Reset();

Exemples sur GitHub

Pour obtenir un exemple complet de l'intégration du SDK UMP abordée sur cette page, consultez HelloWorld.