【问题标题】:Revmob fullscreen ad preload on Unity?在 Unity 上预加载 Revmob 全屏广告?
【发布时间】:2023-12-01 20:59:01
【问题描述】:

有没有办法在 Unity 上预加载全屏广告?现在当我们使用

调用它时
revmob.ShowFullscreen(); 

当我们创建游戏结束画面时。但大多数情况下,它会在 5/10 秒后加载,如果您按下重新启动,这很可能是在游戏中,因此它会在游戏过程中显示全屏广告。

我找到了一些在原生 android 上预加载它的方法,并尝试了相同的功能来查看它们是否存在于 Unity 中,但没有运气。

谢谢。

【问题讨论】:

    标签: android unity3d fullscreen revmob


    【解决方案1】:

    是的!您可以使用以下代码:

    private RevMobFullscreen fullscreen;
    fullscreen = revmob.CreateFullscreen();
    fullscreen.show();
    

    如果您需要更多信息,可以访问 RevMob 移动广告网络网站:https://www.revmobmobileadnetwork.com

    【讨论】:

    • 这会立即显示广告,但仍然没有预加载。
    【解决方案2】:

    最好将此代码添加到 Create 语句中:

    private RevMobFullscreen fullscreen;
    fullscreen = revmob.CreateFullscreen();
    

    ...然后还有这段代码给监听器:

    RevMobAdsListener revmobListener = new RevMobAdsListener() {
    
        // Required
        @Override
        public void onRevMobSessionIsStarted() {
            fullscreen.show();
        }
    
    (...)
    }
    

    这将显示全屏广告。

    【讨论】:

      【解决方案3】:

      您可以这样做以统一预加载 revmob 视频。但是 revmob unity 视频中存在内存泄漏,他们可能会在 9.2.x 中修复它...

      REVMOB_APP_IDS = new Dictionary<string, string>() {
                  { "Android", androidMediaId},
                  { "IOS", iosMediaId }
      };
      revmob = RevMob.Start (REVMOB_APP_IDS, gameObject.name);
      
      
      public void SessionIsStarted ()
      {
          CacheVideoInterstitial("Bootup");
      }
      
      public void CacheVideoInterstitial(string location) {
          DestroyVideo();
          StartCoroutine(CacheAfterEndofFrame(location));
      }
      
      IEnumerator CacheAfterEndofFrame(string location) {
          yield return null;
          fullscreenVideo  = revmob.CreateVideo(location);    
      }
      
      void DestroyVideo() {
          if( fullscreenVideo != null ) {
              fullscreenVideo.Hide();
              //fullscreenVideo.Release();
              //fullscreenVideo = null;
          }
      }
      
      // revmob ad closing delegate
      public void UserClosedTheAd (string revMobAdType)
      {
          DestroyVideo();
          CacheVideoInterstitial(this.location);  
      }
      

      【讨论】:

        最近更新 更多