Emplacements d'annonce

Ce guide vous explique comment utiliser l'annonce du plug-in Google Mobile Ads Unity Emplacements permettant de créer et de diffuser des annonces pour votre application

Prérequis

Initialiser le SDK Google Mobile Ads

Avant de charger les annonces, initialisez le SDK Mobile Ads en appelant MobileAds.Initialize(), avec un rappel Action<InitializationStatus>. Ce ne doit être fait qu'une seule fois, idéalement au lancement de l'application.

using GoogleMobileAds.Api;
using System.Collections.Generic;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    ...
    public void Start()
    {
        // Initialize the Mobile Ads SDK.
        MobileAds.Initialize((initStatus) =>
        {
            // SDK initialization is complete
        });
        ...
    }
}

Créer des emplacements d'annonces

Pour afficher une bannière avec les annonces Google pour mobile, la première étape consiste à créer configurer un emplacement d'annonce. Vous pouvez sélectionner l'emplacement "Bannière", Interstitiel ou avec récompense dans Composants > Annonces pour mobile Google > Annonce Emplacements dans l'éditeur Unity. Trois emplacements d'annonces de démonstration et prêts à être utilisés.

Pour ajouter un emplacement d'annonce, cliquez sur le bouton Ajouter un emplacement à la fin de la liste. Vous pouvez configurer l'emplacement des annonces à partir de la vue de l'outil d'inspection.

Configuration des emplacements d'annonces

Chaque emplacement possède les propriétés suivantes:

Nom de l'emplacement
Nom de l'emplacement. Permet d'identifier les emplacements lors de la configuration des annonces dans une .
Format d'annonce
Bannière, annonce avec récompense ou interstitiel. Type de l'annonce.
ID du bloc d'annonces
Indiquez l'ID du bloc d'annonces au format bannière pour Android et iOS. Vous devez fournir au au moins un ID de bloc d'annonces.
Persistant d'une scène à l'autre
Lorsque cette option est cochée, la bannière reste affichée à l'écran quelle que soit la scène (même comportement que DontDestroyOnLoad).
Chargement automatique activé
Lorsque cette case est cochée, une annonce est chargée automatiquement lorsqu'une scène associée à l'emplacement de l'annonce est chargé.

La capture d'écran suivante montre un exemple d'emplacement d'annonce nommé My Awesome Banner (Ma bannière géniale).

Ajouter un AdGameObject à la scène

Vous pouvez ajouter un AdGameObject pour les formats bannière, interstitiel ou récompense à votre avec GameObject > Google Mobile Ads dans l'éditeur Unity. Sélectionnez l'icône pour ajouter un emplacement à la scène active.

Une fois que vous avez ajouté un AdGameObject à la scène, un GameObject s'affiche représentant l'annonce dans la vue "Hiérarchie" de l'éditeur Unity.

Vous pouvez modifier le nom de l'emplacement en modifiant le nom du GameObject lui-même. La capture d'écran suivante montre un exemple d'AdGameObject nommée Banner Ad (Bannière).

Paramètres AdGameObject

Vous pouvez configurer AdGameObject dans votre scène à partir de l'inspecteur dans les paramètres du composant Ad Game Object (Script) (Objet de jeu publicitaire (script)).

Emplacement d'annonce

Sélectionnez l'emplacement d'annonce dans la liste déroulante des emplacements configurés. La ne contient que des blocs d'annonces au bon format. Par exemple, pour une bannière, le menu déroulant affiche uniquement les emplacements configurés pour les bannières.

Configuration de BannerAdGameObject (bannière uniquement)

  • Taille : sélectionnez la taille de la bannière que vous souhaitez utiliser.
    • La bannière adaptative ancrée propose quelques options supplémentaires: <ph type="x-smartling-placeholder">
        </ph>
      • Orientation : sélectionnez l'orientation de l'appareil utilisée pour calculer l'annonce. hauteur.
      • Utiliser la largeur de l'écran : lorsque cette case est cochée, la bannière s'affiche sur l'écran. en plein écran. Vous pouvez ajuster le pourcentage de largeur de l'écran (de 50 à 99 %) si vous décochez l'option Utiliser la largeur plein écran.
    • L'option Personnalisée vous permet d'indiquer la largeur et la hauteur de la bannière.
  • Position de l'annonce : sélectionnez l'emplacement de la bannière.

Rappels

Vous pouvez implémenter des fonctions correspondant aux rappels d'annonce. Par exemple, si à gérer en cas d'échec du chargement d'une bannière:

  1. Créez une fonction compatible avec le rappel d'annonce.

    public void OnBannerAdFailedToLoad(string reason) {
        Debug.Log("Banner ad failed to load: " + reason);
    }
    
  2. Associez le script contenant la fonction ci-dessus à n'importe quel GameObject du composant .

  3. Cliquez sur le bouton +, puis faites glisser et déposer le GameObject associé le script.

  4. Sélectionnez la fonction que vous souhaitez associer au rappel d'annonce. Pour le rappels d'annonces paramétrés, sélectionnez la fonction pour accepter les afin que vous puissiez obtenir la valeur du paramètre à partir du SDK.

Utiliser AdGameObject à partir du script

Obtenir l'instance AdGameObject à partir du script

Tous les objets AdGameObject disposent de la méthode pratique LoadAd(). Cette opération entraîne le chargement une annonce avec un AdRequest simple et non ciblé. Pour appliquer le ciblage, vous devez utiliser LoadAd(AdRequest adRequest) à l'aide de votre propre demande d'annonce configurée.

Pour obtenir l'instance d'un AdGameObject, utilisez la méthode suivante pour chaque format:

MobileAds.Instance.GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

L'objet BannerAdGameObject renvoyé comporte également des méthodes pratiques Hide() et Show().

Interstitiel

MobileAds.Instance.GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

L'objet InterstitialAdGameObject renvoyé comporte une méthode pratique ShowIfLoaded()

Avec récompense

MobileAds.Instance.GetAd<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

L'objet RewardedAdGameObject renvoyé comporte une méthode pratique ShowIfLoaded()

Par exemple, vous pouvez obtenir une instance de BannerAdGameObject et la charger en tant que ce qui suit:

using UnityEngine;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class BannerTestScript : MonoBehaviour
{
    BannerAdGameObject bannerAd;

    void Start()
    {
        bannerAd = MobileAds.Instance
            .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

        bannerAd.LoadAd();
        ...
    }
    ...
}

Si un BannerAdGameObject est nommé BannerAd, vous pouvez obtenir une instance de comme ceci:

MobileAds.Instance.GetAd<BannerAdGameObject>("BannerAd");

Accéder à l'objet d'annonce sous-jacent dans AdGameObject

Ces extraits montrent comment accéder à l'objet d'annonce sous-jacent associé avec AdGameObject.

BannerAdGameObject bannerAd = MobileAds.Instance
    .GetAd<BannerAdGameObject>("AD_GAMEOBJECT_NAME");

// Access BannerView object
BannerView bannerView = bannerAd.BannerView;

Interstitiel

InterstitialAdGameObject interstitialAdGameObject = MobileAds.Instance
    .GetAd<InterstitialAdGameObject>("AD_GAMEOBJECT_NAME");

// Access InterstitialAd object
InterstitialAd interstitialAd = interstitialAdGameObject.InterstitialAd;

Avec récompense

RewardedAdGameObject rewardedAdGameObject = MobileAds.Instance
    .Get<RewardedAdGameObject>("AD_GAMEOBJECT_NAME");

// Access RewardedAd object
RewardedAd rewardedAd = rewardedAdGameObject.RewardedAd;

Exemples

Diffuser une annonce interstitielle

Voici un exemple de procédure à suivre pour configurer un jeu afin de charger et d'afficher un interstitiel. à l'aide d'un AdGameObject.

Ajoutez un InterstitialAdGameObject à la scène et activez le chargement automatique Enabled (Activé), de sorte que l'annonce se charge automatiquement lors du chargement de la scène.

Ensuite, assurez-vous d'avoir initialisé le SDK comme suit. Notez que la case Auto de chargement dans AdGameObject ne fonctionne pas si vous oubliez d'initialiser SDK.

Affichez ensuite une annonce interstitielle entre une transition d'écran en appelant la méthode fonction InterstitialAdGameObject.ShowIfLoaded(). Le code suivant montre une Exemple d'affichage d'une annonce interstitielle entre une transition de scène

using UnityEngine;
using UnityEngine.SceneManagement;

using GoogleMobileAds.Api;
using GoogleMobileAds.Placement;

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAd<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }

    public void OnClickShowGameSceneButton()
    {
        // Display an interstitial ad
        interstitialAd.ShowIfLoaded();

        // Load a scene named "GameScene"
        SceneManager.LoadScene("GameScene");
    }
}

Comme vous avez activé la fonctionnalité de chargement automatique pour l'emplacement d'annonce, vous ne devez pas sans demander explicitement une annonce. Lorsque la scène change, une annonce interstitielle qui s'affiche si une clé est prête.

Si vous souhaitez demander une annonce manuellement, désactivez la fonctionnalité Chargement automatique dans l'inspecteur d'emplacements d'annonces et appeler la méthode InterstitialAdGameObject.LoadAd() . L'extrait de code suivant montre comment demander manuellement un annonce.

public class MainScene : MonoBehaviour
{
    InterstitialAdGameObject interstitialAd;

    void Start()
    {
        interstitialAd = MobileAds.Instance
            .GetAdGameObject<InterstitialAdGameObject>("interstitial");

        MobileAds.Initialize((initStatus) => {
            Debug.Log("MobileAds initialized");

            // Load an interstitial ad after the SDK initialization is complete
            interstitialAd.LoadAd();
        });
    }
    ...
}

Gérer le visionnage d'une annonce avec récompense état du bouton

Voici un exemple montrant comment activer le bouton "Regarder une annonce avec récompense" à l'aide du bouton emplacements.

Ajoutez un GameObject "Button" (nommé Button dans cet exemple) à la scène : sera utilisé pour diffuser une annonce avec récompense. Nous rendrons ce bouton disponible uniquement lorsqu'une annonce avec récompense est disponible.

Dans la méthode Start(), définissez l'état actif du bouton sur false. Ce le bouton disparaîtra de la scène.

public class MainScene : MonoBehaviour
{
    ...
    void Start()
    {
        GameObject.Find("Button").SetActive(false);
        ...
    }
}

Ajoutez un RewardedAdGameObject à la scène, puis sélectionnez Annonce avec récompense de démonstration AdMob Annonce : emplacement d'annonce dans le menu déroulant.

Dans la section "Rappels" de l'outil d'inspection RewardedAdGameObject, cliquez sur le bouton + de On Ad Loaded() pour permettre à la fonction d'être appelée lors du chargement d'une annonce avec récompense.

Glissez-déposez le GameObject de bouton que vous avez ajouté à l'étape précédente pour le champ None (Object) (Aucun (objet). Sélectionnez la fonction à appeler dans le menu déroulant. Cliquez sur Aucune fonction > GameObject > SetActive(bool), puis cochez la case pour elle envoie true en tant que paramètre (appel SetActive(true)).

Dans cette section "Rappels", vous pouvez également associer un événement qui sera appelé Lorsque l'événement RewardedAd.OnUserEarnedReward est déclenché. Pour en savoir plus, consultez cette section.

Ensuite, configurez le bouton pour qu'une annonce avec récompense s'affiche lorsqu'un utilisateur clique dessus. À partir du Click() Callbacks dans l'inspecteur de boutons, cliquez sur le bouton +, puis glissez-déposez l'objet GameObject d'emplacement d'annonce avec récompense (appelé Annonce avec récompense dans ce exemple) dans le champ None (Object) (Aucun (objet).

Ensuite, associez la fonction RewardedAdGameObject.ShowIfLoaded() au composant Lors du rappel Click().

Enfin, n'oubliez pas d'initialiser le SDK. L'extrait de code suivant correspond au code complet de la scène utilisée dans cet exemple:

using UnityEngine;

using GoogleMobileAds.Api;

public class MainScene : MonoBehaviour
{
    void Start()
    {
        GameObject.Find("Button").SetActive(false);

        MobileAds.Initialize((initStatus) => {
            Debug.Log("Initialized MobileAds");
        });
    }
}

Une fois le projet exécuté, le bouton s'affiche sur la scène lorsqu'un annonce avec récompense est chargée et prête à être diffusée.

Configurer un rappel de récompense pour un RewardAdGameObject

Voici un exemple de configuration d'un rappel avec récompense pour une annonce avec récompense. afin que vous puissiez récompenser l'utilisateur lorsqu'une fonction de rappel appelé.

Créez un script et définissez une fonction qui accepte Reward comme paramètre comme suit.

using UnityEngine;
using GoogleMobileAds.Api;

class RewardedTestScript : MonoBehaviour {
    ...
    public void OnUserEarnedReward(Reward reward) {
        Debug.Log("OnUserEarnedReward: reward=" +
            reward.Type + ", amount=" + reward.Amount);
    }
    ...
}

Associer le script RewardedTestScript à n'importe quel GameObject (sauf le bloc d'annonces GameObject d'emplacement) dans la scène. Dans cet exemple, il est rattaché GameObject Camera.

Ajoutez un RewardedAdGameObject à la scène. Ensuite, dans la section "Callbacks" (Rappels), Dans l'inspecteur RewardedAdGameObject, cliquez sur le bouton + dans Sur l'utilisateur Récompense gagnée (Récompense) pour permettre à la fonction d'être appelée lorsqu'une récompense est accordé à un utilisateur.

Glissez-déposez le GameObject Main Camera GameObject que vous avez ajouté à l'étape précédente dans le champ None (Object) (Aucun (objet). Sélectionnez la fonction à appeler à partir de liste déroulante. Cliquez sur Aucune fonction > RécompenseTestScript > OnUserGagnezedReward.

Une fois que vous avez lancé le projet et regardé une annonce avec récompense, RewardedTestScript.OnUserEarnedReward() sera appelé lorsque vous devrez récompensée pour avoir interagi avec l'annonce.