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 la section À propos de "Confidentialité et messages".
Créer un type de message
Créez des messages destinés aux utilisateurs avec l'un des types de messages disponibles dans l'onglet Confidentialité et messages de votre compte AdMob. Le SDK UMP tente d'afficher un message de confidentialité créé à partir de l'ID d'application AdMob défini dans votre projet.
Pour en savoir plus, consultez la section À propos de la confidentialité et des messages.
Obtenir le consentement
Pour recueillir le consentement, procédez comme suit :
- Demandez les informations les plus récentes sur le consentement de l'utilisateur.
- Chargez et présentez un formulaire de consentement, si nécessaire.
Demande d'informations sur le consentement
Vous devez demander la mise à jour des informations de consentement de l'utilisateur à chaque lancement d'application, à l'aide de requestConsentInfoUpdate()
. Cette requête vérifie les éléments suivants:
- Le consentement est-il 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 pour les options de confidentialité est obligatoire. Certains messages de confidentialité exigent que les applications permettent aux utilisateurs de modifier leurs options de confidentialité à tout moment.
Charger et présenter un formulaire de message sur la confidentialité si nécessaire
Une fois que vous avez reçu l'état de consentement le plus récent, appelez loadAndShowConsentFormIfRequired()
pour charger les formulaires requis pour recueillir le consentement de l'utilisateur. Une fois le chargement terminé, les formulaires s'affichent immédiatement.
Le code suivant montre comment demander les dernières informations sur le consentement de l'utilisateur. Si nécessaire, le code charge et présente un formulaire de message de confidentialité :
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
});
},
(FormError error) {
// Handle the error.
},
);
}
Options de confidentialité
Certains formulaires de message 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 la section Types de messages utilisateur disponibles.
Vérifier si un point d'entrée pour les options de confidentialité est requis
Après avoir appelé requestConsentInfoUpdate()
, vérifiez getPrivacyOptionsRequirementStatus()
pour déterminer si un point d'entrée des options de confidentialité est requis pour votre application :
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Ajouter un élément visible à votre application
Si un point d'entrée de confidentialité est requis, ajoutez à votre application un élément d'interface utilisateur visible et interactif qui présente le formulaire d'options de confidentialité. Si un point d'entrée de confidentialité n'est pas requis, configurez votre élément d'interface utilisateur pour qu'il ne soit pas visible ni interactif.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
// Redraw the app bar actions if a privacy options entry point is required.
if (await isPrivacyOptionsRequired()) {
setState(() {
_isPrivacyOptionsRequired = true;
});
}
});
},
// ...
Présenter le formulaire d'options de confidentialité
Lorsque l'utilisateur interagit avec votre élément, présentez le formulaire d'options de confidentialité :
ConsentForm.showPrivacyOptionsForm((formError) {
if (formError != null) {
debugPrint("${formError.errorCode}: ${formError.message}");
}
});
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 canRequestAds()
. Il existe deux endroits où vérifier le consentement lors de la collecte :
- Une fois le consentement obtenu dans la session en cours.
- Immédiatement après avoir appelé
requestConsentInfoUpdate()
. 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 lors du processus de collecte du consentement, vous devez tout de même vérifier si vous pouvez demander des annonces. Le SDK UMP utilise l'état du consentement de la session précédente.
Le code suivant vérifie si vous pouvez demander des annonces pendant le processus de collecte du consentement :
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
// ...
});
},
(FormError error) {},
);
// Check if you can initialize the Mobile Ads SDK in parallel while
// checking for new consent information. Consent obtained in the
// previous session can be used to request ads.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
Le code suivant configure le SDK Google Mobile Ads une fois le consentement de l'utilisateur recueilli:
void _initializeGoogleMobileAdsSDK() async {
if (_isMobileAdsInitializeCalled) {
return;
}
_isMobileAdsInitializeCalled = true;
// Initialize the Mobile Ads SDK.
MobileAds.instance.initialize();
// Load an ad.
_loadAd();
}
Tests
Si vous souhaitez tester l'intégration dans votre application pendant le développement, suivez ces étapes pour enregistrer votre appareil de test par programmation. Veillez à supprimer le code qui définit ces ID d'appareil de test avant de publier votre application.
- Appelez
requestConsentInfoUpdate()
. Dans la sortie du journal, recherchez un message semblable à l'exemple suivant, qui montre l'ID de votre appareil et explique 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]
Copiez l'ID de votre appareil de test dans votre presse-papiers.
Modifiez votre code pour appeler
ConsentDebugSettings.testIdentifiers
et transmettre une liste de vos ID d'appareils de test.ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
Forcer une zone géographique
Le SDK UMP permet de tester le comportement de votre application comme si l'appareil se trouvait 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.
ConsentDebugSettings debugSettings = ConsentDebugSettings(
debugGeography: DebugGeography.debugGeographyEea,
testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);
ConsentRequestParameters params =
ConsentRequestParameters(consentDebugSettings: debugSettings);
ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
// ...
};
Réinitialiser l'état du consentement
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.
Pour ce faire, le SDK fournit la méthode reset()
.
ConsentInformation.instance.reset();
Exemples sur GitHub
Pour voir un exemple complet d'intégration du SDK UMP abordée sur cette page, reportez-vous à nos exemples Flutter.