【问题标题】:Admob unity rewarded videos not workingAdmob 统一奖励视频不起作用
【发布时间】:2016-12-29 17:49:04
【问题描述】:

我在我的 android 游戏上使用 Unity 广告,一切都运行良好,除了某些设备有时不显示 Unity 广告。所以,我想测试 Admob 奖励视频,看看我是否可以获得更好的性能。这是我用于 Admob 的代码:

 public void RequestRewardBasedVideo()
    {
#if UNITY_EDITOR
        string adUnitId = "unused";
#elif UNITY_ANDROID
        string adUnitId = "ca-app-pub-243186545632812xxxxxxxxxxxx";
#elif UNITY_IPHONE
        string adUnitId = "unused";
#else
        string adUnitId = "unexpected_platform";
#endif

        RewardBasedVideoAd rewardBasedVideo = RewardBasedVideoAd.Instance;

        AdRequest request = new AdRequest.Builder().Build();
        rewardBasedVideo.LoadAd(request, adUnitId);
        showAdvertisment(rewardBasedVideo);
    }

    private void showAdvertisment(RewardBasedVideoAd rewardBasedVideo)
    {
        if (rewardBasedVideo.IsLoaded())
        {

            rewardBasedVideo.Show();
            rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
        }


    }
    public void HandleRewardBasedVideoRewarded(object sender, Reward args)
    {
        //reward 
    }

我将 RequestRewardBasedVideo() 分配给一个按钮,但问题是视频没有显示!我认为我走在正确的道路上,因为当我单击按钮时,控制台会记录:

Dummy .ctor
Dummy CreateRewardBasedVideoAd
Dummy LoadAd
Dummy IsLoaded
Dummy ShowRewardBasedVideoAd

我已经尝试将应用程序放在我的 Android 设备上,并为 Unity 导入了 Google Admob 包,还在 Admob 面板中配置了广告。有人对我能做些什么来解决这个问题有任何想法吗?

【问题讨论】:

  • 也有同样的问题,我的输出和你一模一样,没有任何显示。
  • 我也卡在这里了。
  • #metoo。有人设法解决这个问题吗?

标签: android unity3d admob ads rewardedvideoad


【解决方案1】:

这可能是由于目前没有奖励视频或没有可用的广告视频。尝试使用测试广告进行测试。请在您的请求代码中包含测试设备 ID,如下所示:

 AdRequest request = new AdRequest.Builder()
                         .AddTestDevice("34343")
                         .Build();

尝试使用示例ad UNIT Id。希望它有效。

【讨论】:

    【解决方案2】:

    您的代码错误。您应该将请求广告和展示广告分成两个功能。在 Start() 函数中,您调用请求函数和显示广告函数应该挂接到您的按钮。这是因为当您请求广告时,需要一些时间才能为您提供广告。

    【讨论】:

      【解决方案3】:

      如果视频没有加载怎么办?您需要处理这种情况,收听加载事件,然后点击显示。

          if (rewardBasedVideo.IsLoaded())
              {
      
                  rewardBasedVideo.Show();
                  rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
              }else{
                   rewardBasedVideo.OnAdLoaded += HandleVideoLoaded;
      }
      
      
      
      public void HandleVideoLoaded(object sender, Reward args)
      {
           rewardBasedVideo.Show();
                  rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
      }
      
      
       public void HandleRewardBasedVideoRewarded(object sender, Reward args)
          {
             rewardBasedVideo.OnAdRewarded -= HandleRewardBasedVideoRewarded;
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多