前提・実現したいこと
通常は動画広告を最後まで視聴するとHandleRewardBasedVideoRewardedが呼び出されます。
1回目は問題なく処理が行われますが、2回目になるとこの関数が呼ばれません。(動画は正常に視聴できます。)
発生している問題・エラーメッセージ
エラーメッセージなし。
該当のソースコード
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
public class RewardAbs : MonoBehaviour
{
public string adUnitId ;
private AdRequest adRequest;
private RewardBasedVideoAd rewardBasedVideo;
private Action rewardedHandler;
public GameObject notationReward; public GameObject absIcon; // Use this for initialization void Start() { RequestRewardBaseVide(); } private void RequestRewardBaseVide() { this.rewardBasedVideo = RewardBasedVideoAd.Instance; rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded; // ad has been received. rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad; // ad has failed to load. rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened; // ad is opened. rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted; // ad has started playing. rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded; // ad has rewarded the user. rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed; // ad is closed. rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication; // ad is leaving the application. // 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 ShowAbs() { AiredAbs(rewardedHandler); } private void AiredAbs(Action handler) { if (rewardBasedVideo.IsLoaded()) { Debug.Log("広告表示"); rewardedHandler = handler; rewardBasedVideo.Show(); } } public void HandleRewardBasedVideoLoaded(object sender, EventArgs args) { } public void HandleRewardBasedVideoFailedToLoad(object sender, EventArgs args) { } public void HandleRewardBasedVideoOpened(object sender, EventArgs args) { } public void HandleRewardBasedVideoStarted(object sender, EventArgs args) { } public void HandleRewardBasedVideoRewarded(object sender, Reward args) { Debug.Log("報酬受け取り時の処理"); PlayerData.goldPoint += 30; notationReward.SetActive(true); absIcon.SetActive(false); } public void HandleRewardBasedVideoClosed(object sender, EventArgs args) { this.RequestRewardBaseVide(); } public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args) { }
}
補足情報(FW/ツールのバージョンなど)
Unity バージョン 2018.1.0f2
Google Mobile Ads Unity Plugin v3.15.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。