У меня есть приложения для единства с рекламой в награду.Каждый раз, когда пользователь запускает приложения, идет на главную сцену и нажимает кнопку, затем показывается вознагражденная реклама.
После показа объявления оно вызывает событие HandleRewardBasedVideoRewarded
, но проблема в том, что это событие может быть тольковызывается один раз и не может быть вызван снова, даже когда я перехожу на другую сцену и возвращаюсь на главную сцену.
это вызовет событие снова, после того, как я перезапущу свои приложения.
есть какие-нибудь идеи, чтобы решить это?
спасибо
ниже мой источниккод:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Android;
using GoogleMobileAds.Common;
using GoogleMobileAds.Api;
using System;
using UnityEngine.SceneManagement;
using DG.Tweening;
public class z_reward_ads : MonoBehaviour {
public string _rewardid = "...";
private RewardBasedVideoAd rewardBasedVideo;
private AdRequest rewardRequest;
public GameObject MANAGER_SCORE;
public GameObject BoxButton;
public GameObject textButton;
// Use this for initialization
void Start () {
this.rewardBasedVideo = RewardBasedVideoAd.Instance;
RequestRewardedAds ();
rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded;
rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
textButton.transform.DOPunchScale (new Vector3 (1, 1, 0), 2, 1, 0);
}
public void RequestRewardedAds()
{
// Create an empty ad request.
rewardRequest = new AdRequest.Builder()
.AddTestDevice("...")
.Build();
this.rewardBasedVideo.LoadAd(rewardRequest, _rewardid);
}
public void ShowRewardedAds()
{
if (rewardBasedVideo.IsLoaded()) {
rewardBasedVideo.Show();
}
}
//===REWARDED_VIDEO_EVENT
public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
{
BoxButton.SetActive (true);
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
MANAGER_SCORE.GetComponent<z_global_score> ().AddScore (10);
Scene scene = SceneManager.GetActiveScene();
SceneManager.LoadScene (scene.name);
}
// Update is called once per frame
void Update () {
}
}