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
Unity 2017.4 ou version ultérieure.
Télécharger et importer la version préliminaire du plug-in GMA Unity.
Définissez votre ID d'application AdMob dans le Éditeur Unity.
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.
- La bannière adaptative ancrée propose quelques options supplémentaires:
<ph type="x-smartling-placeholder">
- 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:
Créez une fonction compatible avec le rappel d'annonce.
public void OnBannerAdFailedToLoad(string reason) { Debug.Log("Banner ad failed to load: " + reason); }
Associez le script contenant la fonction ci-dessus à n'importe quel GameObject du composant .
Cliquez sur le bouton +, puis faites glisser et déposer le GameObject associé le script.
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:
Bannière
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.
Bannière
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.