facebook twitter hatena line email

Unity/GoogleMobileAds/RewardInterstitial

提供: 初心者エンジニアの簡易メモ
2022年4月16日 (土) 18:44時点におけるAdmin (トーク | 投稿記録)による版 (ページの作成:「==サンプル== <pre> using GoogleMobileAds.Api; public class AdMobRewardInterstitial { AdRequest request; private RewardedInterstitialAd rewardedInterstitialA...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

サンプル


using GoogleMobileAds.Api;

public class AdMobRewardInterstitial
{
    AdRequest request;
    private RewardedInterstitialAd rewardedInterstitialAd;
    public void Init()
    {
        string testDeviceId = AdMobUtility.GetTestDeviceId();
        MobileAds.Initialize(initStatus => { });
        request = new AdRequest.Builder()
             .AddTestDevice(testDeviceId)
             .Build();
    }
    public void RequestAndLoad()
    {
#if UNITY_ANDROID
            string adUnitId = "ca-app-pub-0xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx";
#elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-0xxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx";
#else
            string adUnitId = "unexpected_platform";
#endif
        RewardedInterstitialAd.LoadAd(adUnitId, request, adLoadCallback);
    }

    private void adLoadCallback(RewardedInterstitialAd ad, string error)
    {
        if (error == null)
        {
            rewardedInterstitialAd = ad;
            /*
            rewardedInterstitialAd.OnAdFailedToPresentFullScreenContent += HandleAdFailedToPresent;
            rewardedInterstitialAd.OnAdDidPresentFullScreenContent += HandleAdDidPresent;
            rewardedInterstitialAd.OnAdDidDismissFullScreenContent += HandleAdDidDismiss;
            rewardedInterstitialAd.OnPaidEvent += HandlePaidEvent;
            */
        }
    }
    public void ShowAd()
    {
        if (rewardedInterstitialAd != null)
        {
            rewardedInterstitialAd.Show(userEarnedRewardCallback);
        }
    }
    private void userEarnedRewardCallback(Reward reward)
    {
        // TODO: Reward the user.
    }
}

公式:https://developers.google.com/admob/unity/rewarded-interstitial?hl=ja