La classe MobileAds fournit des paramètres généraux pour .
Déclencher des événements publicitaires sur le thread principal Unity
déclenche des événements sur un thread différent du thread principal Unity. Si vous implémentez des événements publicitaires et interagissez avec des objets Unity, vous devez synchroniser les événements avec le thread principal Unity.
Synchronisez les événements publicitaires avec le thread principal Unity manuellement ou automatiquement en laissant gérer la synchronisation.
Recommandé : Synchroniser manuellement les événements publicitaires
Pour synchroniser manuellement les événements publicitaires, utilisez la méthode ExecuteInUpdate sur le thread principal. Vous devez utiliser la méthode ExecuteInUpdate lorsque vous interagissez avec des objets UnityEngine et que la propriété RaiseAdEventsOnUnityMainThread est désactivée.
L'exemple suivant enregistre un thread en arrière-plan et exécute une action pour interagir avec des objets UnityEngine :
// Google Mobile Ads events are raised off the Unity main thread.
// This log is executed off the Unity main thread.
// Write all time-sensitive code before ExecuteInUpdate().
Debug.Log("Executing off the Unity main thread.");
// Use ExecuteInUpdate to run code on the main thread, allowing you to
// interact with Unity UI and GameObjects.
// Changed to fully-qualified name to resolve CS0103
GoogleMobileAds.Common.MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// This callback may be delayed on Android until the user returns to the app.
Debug.Log("Executing on the Unity main thread.");
// Place all code that interacts with Unity UI and GameObjects inside this callback.
if (_myGameObject != null)
{
_myGameObject.SetActive(true);
}
});
Automatiser la synchronisation des événements publicitaires
Pour que synchronise les événements publicitaires, définissez
MobileAds.RaiseAdEventsOnUnityMainThread propriété sur true :
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// When true all events raised by GoogleMobileAds will be raised
// on the Unity main thread. The default value is false.
MobileAds.RaiseAdEventsOnUnityMainThread = true;
}
}
Contrôle du volume des annonces vidéo
Si votre application dispose de ses propres commandes de contrôle du volume, telles que des volumes de musique ou d'effet audio personnalisés, la divulgation du volume de l'application à permet aux annonces vidéo de respecter les paramètres de volume de l'application. Cela permet de s'assurer que les utilisateurs verront les annonces vidéo avec le volume audio prévu.
Le volume de l'appareil, contrôlé par les boutons de volume ou le curseur de volume au niveau du système d'exploitation, détermine le volume de la sortie audio de l'appareil. Toutefois, les applications peuvent ajuster indépendamment les niveaux de volume par rapport au volume de l'appareil pour personnaliser l'expérience audio.
Vous pouvez signaler le volume relatif de l'application à en appelant
la méthode SetApplicationVolume() avant de charger l'annonce. Les valeurs de volume d'annonce valides sont comprises entre 0.0 (silencieux) et 1.0 (volume actuel de l'appareil). Voici un exemple de la façon de signaler le volume relatif de l'application au SDK :
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
Pour informer le SDK que le volume de l'application a été coupé, appelez la méthode SetApplicationMuted() avant de charger l'annonce :
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
Par défaut, le volume de l'application est défini sur 1, le volume actuel de l'appareil, et le son de l'application n'est pas coupé.
Consentement aux cookies
Si votre application a des exigences particulières, vous pouvez définir la clé facultative
ApplicationPreferences gad_has_consent_for_cookies sur zéro pour activer les annonces limitées
:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Minification Android
Cette option de publication Unity vous permet d'activer la minification du code Java. Si vous activez la minification, vous devrez également créer un fichier ProGuard personnalisé pour conserver les classes référencées par le SDK.
Activer le fichier ProGuard personnalisé
Accédez à Project Settings > Player > Android > Publishing Settings > Build (Paramètres du projet > Lecteur > Android > Paramètres de publication > Compilation) , puis sélectionnez :
- Fichier ProGuard personnalisé
Ouvrez
/Assets/Plugins/Android/proguard-user.txtet ajoutez le code suivant :
-keep class com.google.** { public *; }
Désactiver les rapports d'erreur
collecte des rapports d'erreur à des fins de débogage et d'analyse. Pour désactiver les rapports d'erreur, consultez les sections suivantes pour Android et iOS.
Android
Ajoutez la balise <meta-data> avec DISABLE_CRASH_REPORTING défini sur true dans
le fichier AndroidManifest.xml de votre application :
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
iOS
Appelez la méthode DisableSDKCrashReporting pour désactiver les rapports d'erreur sur iOS :
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
Obtenir la version du plug-in Unity
Pour obtenir la version du SDK Unity, exécutez la commande suivante :
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
Obtenir la version de la plate-forme
Le pour Unity dépend des SDK de plate-forme Android et iOS. Pour obtenir la version du SDK de plate-forme, exécutez la commande suivante :
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());