Récompense d'une pub et events

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
wesh57
Messages : 22
Inscription : 19 Jan 2020 04:33

Récompense d'une pub et events

Message par wesh57 » 21 Avr 2020 22:03

Bonjour,
Je viens vous voir car j'ai un problème sur le plug in Google Admob, notamment j'ai suivi un tuto sur YTB , voilà jusqu'ici tout est OK, j'arrive à regarder des pubs (bannier, vidéo ...). Mais voilà j'ai un souci sur les récompenses, notamment sur les récompenses d'une vidéo, j'aimerais en mettre une sur mon jeu mais je ne comprends pas le système d’évents, j'ai fait quelque recherche et j'ai trouvé que ça s'appelait des delegate.

Voici mon code

Code : Tout sélectionner

using UnityEngine;
using GoogleMobileAds.Api;
using System;

public class ADManager : MonoBehaviour
{
    private string APP_ID = "...";

    private BannerView bannerAD;
    private InterstitialAd interstitialAD;
    private RewardBasedVideoAd rewardVideoAD;


    // Start is called before the first frame update
    void Start()
    {
        //MobileAds.Initialize(APP_ID);

        RequestBannerAD();
        RequestInterstitialAD();
        RequestVideoAD();
    }

    void RequestBannerAD()
    {
        //string banner_ID = "...";
        string banner_ID = "...";
        bannerAD = new BannerView(banner_ID, AdSize.SmartBanner, AdPosition.Top);
    }

    void RequestInterstitialAD()
    {
        //string interstitial_ID = "...";
        string interstitial_ID = "...";
        interstitialAD = new InterstitialAd(interstitial_ID);

        //Real APP
        //AdRequest adRequest = new AdRequest.Builder().Build();

        //Test
        AdRequest adRequest = new AdRequest.Builder().AddTestDevice("...").Build();

        interstitialAD.LoadAd(adRequest);
    }

    void RequestVideoAD()
    {
        //string video_ID = "...";
        string video_ID = "...";
        rewardVideoAD = RewardBasedVideoAd.Instance;

        //Real APP
        //AdRequest adRequest = new AdRequest.Builder().Build();

        //Test
        AdRequest adRequest = new AdRequest.Builder().AddTestDevice("...").Build();

        rewardVideoAD.LoadAd(adRequest, video_ID);
    }

    public void Display_BannerAD()
    {
        //Real APP
        //AdRequest adRequest = new AdRequest.Builder().Build();

        //Test
        AdRequest adRequest = new AdRequest.Builder().AddTestDevice("...").Build();

        bannerAD.LoadAd(adRequest);
    }

    public void Display_InterstitialAD()
    {
        if (interstitialAD.IsLoaded())
        {
            interstitialAD.Show();
        }
    }

    public void Display_Reward_Video()
    {
        if (rewardVideoAD.IsLoaded())
        {
            rewardVideoAD.Show();
        }
    }

    //REWARD VIDEO
    public void HandleRewardedAdLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardedAdLoaded event received");
    }

    public void HandleRewardedAdFailedToLoad(object sender, AdErrorEventArgs args)
    {
        MonoBehaviour.print(
            "HandleRewardedAdFailedToLoad event received with message: "
                             + args.Message);
    }

    public void HandleRewardedAdOpening(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardedAdOpening event received");
    }

    public void HandleRewardedAdFailedToShow(object sender, AdErrorEventArgs args)
    {
        MonoBehaviour.print(
            "HandleRewardedAdFailedToShow event received with message: "
                             + args.Message);
    }

    public void HandleRewardedAdClosed(object sender, EventArgs args)
    {
        Display_Reward_Video();
    }

    public void HandleUserEarnedReward(object sender, Reward args)
    {
        string type = args.Type;
        double amount = args.Amount;
        MonoBehaviour.print(
            "HandleRewardedAdRewarded event received for "
                        + amount.ToString() + " " + type);
    }
}

Et voilà le code que je ne comprends pas notamment les events et ce qu'il y a dans Start() (j'ai pris ce code ici : https://developers.google.com/admob/uni ... rded-video ) :

Code : Tout sélectionner

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private RewardBasedVideoAd rewardBasedVideo;
    ...

    public void Start()
    {
        // Get singleton reward based video ad reference.
        this.rewardBasedVideo = RewardBasedVideoAd.Instance;

        // Called when an ad request has successfully loaded.
        rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded;
        // Called when an ad request failed to load.
        rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad;
        // Called when an ad is shown.
        rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened;
        // Called when the ad starts to play.
        rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted;
        // Called when the user should be rewarded for watching a video.
        rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
        // Called when the ad is closed.
        rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed;
        // Called when the ad click caused the user to leave the application.
        rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication;

        this.RequestRewardBasedVideo();
    }

    private void RequestRewardBasedVideo()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/5224354917";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/1712485313";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the rewarded video ad with the request.
        this.rewardBasedVideo.LoadAd(request, adUnitId);
    }

    public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardBasedVideoLoaded event received");
    }

    public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        MonoBehaviour.print(
            "HandleRewardBasedVideoFailedToLoad event received with message: "
                             + args.Message);
    }

    public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardBasedVideoOpened event received");
    }

    public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardBasedVideoStarted event received");
    }

    public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardBasedVideoClosed event received");
    }

    public void HandleRewardBasedVideoRewarded(object sender, Reward args)
    {
        string type = args.Type;
        double amount = args.Amount;
        MonoBehaviour.print(
            "HandleRewardBasedVideoRewarded event received for "
                        + amount.ToString() + " " + type);
    }

    public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
    {
        MonoBehaviour.print("HandleRewardBasedVideoLeftApplication event received");
    }
}
Merci pour votre aide :-D

Avatar de l’utilisateur
jmhoubre
Messages : 859
Inscription : 05 Oct 2019 22:05

Re: Récompense d'une pub et events

Message par jmhoubre » 22 Avr 2020 10:19

Video en anglais, bonne qualité.

wesh57
Messages : 22
Inscription : 19 Jan 2020 04:33

Re: Récompense d'une pub et events

Message par wesh57 » 22 Avr 2020 19:45

Bonjour,
Merci pour votre réponse, j'ai regardé la vidéo plusieurs fois (moi et l'anglais :triste2: :triste2: ), et après avoir vu d'autres tutos/vidéos à côté je pense avoir compris comment ça marchait (enfin je l’espère).
:mrgreen: :mrgreen:

wesh57
Messages : 22
Inscription : 19 Jan 2020 04:33

Re: Récompense d'une pub et events

Message par wesh57 » 24 Avr 2020 00:35

Re,
c'est encore moi ^^
Il y a un truc que je n'ai pas compris, c'est comment ajouter plusieurs récompenses avec ce système (admob). Sa fait plusieurs heures que je cherche mais rien, je ne comprends toujours pas, help :pleur4: :pleur4: :pleur4:

Répondre

Revenir vers « Scripting »