2 votes

Unité : Découvrez si l'utilisateur a cliqué sur une publicité.

Dans mon application unity, j'ai intégré Admob. Voici le code de ma classe "Ads" :

public static InterstitialAd interstitial;

private void Start()
{
    RequestInterstitial();
}

public void StartAds()
{
    RequestInterstitial();

    if (interstitial.IsLoaded())
    {
        interstitial.Show();
    }
    else
    {
        Debug.Log("Interstitial wasn't loaded yet");
    }

    interstitial.Show(); 
}

public static void onAdLeftApplication()
{
    ChangeCoinValue.actualCoinValue += 33;
    PlayerPrefs.SetInt("TotalCoinValue", ChangeCoinValue.actualCoinValue);
}

private void RequestInterstitial()
{

    // Initialize an InterstitialAd.
    interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    interstitial.LoadAd(request);
}

Les publicités s'affichent parfaitement lorsque je suis dans une autre classe et que j'appelle (en cliquant sur un bouton, par exemple).

Ads.Interstitial.Show(); 

Je le fais de cette façon, parce que dans mono develope vous ne pouvez pas travailler avec des objets, donc il doit être statique. Mais néanmoins :

J'ai donc pensé que la fonction dans ma classe d'annonce "OnAdLeftApplication()" se déclenche chaque fois que l'utilisateur clique sur une publicité et quitte donc l'application. S'il ou elle fait cela, je récompenserais cette personne avec 33 pièces !

Mais ça ne marche pas. Peut-être parce que j'appelle la fonction "show()" depuis ma publicité interstitielle, mais je ne sais pas.

Pouvez-vous m'expliquer comment je peux récompenser un utilisateur avec des pièces lorsqu'il clique sur l'une des publicités ?

Merci !

4voto

romerotg Points 414

Vous pouvez utiliser le admobEventHandler pour les types d'événements spécifiques onAdOpened y onAdLeftApplication vérifier le page wiki de github pour d'autres types d'événements.

Avant d'appeler interstitial.LoadAd vous devez souscrire l'interstice à cet événement. Quelque chose comme interstitial.OnAdLeavingApplication += HandleInterstitialLeftApplication;

public void HandleInterstitialLeftApplication(object sender, EventArgs args)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X