在Unity上Revmob全屏广告预加载?

时间:2014-04-29 23:14:18

标签: android unity3d fullscreen revmob

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

调用它时
revmob.ShowFullscreen(); 

当我们创建最终游戏画面时。但是大部分时间它会在5/10秒之后加载,如果你按重启动,它很可能在游戏中加载,因此它会在游戏过程中显示全屏广告。

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

感谢。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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

...然后这个代码也给了听众:

RevMobAdsListener revmobListener = new RevMobAdsListener() {

    // Required
    @Override
    public void onRevMobSessionIsStarted() {
        fullscreen.show();
    }

(...)
}

这将显示全屏广告。

答案 2 :(得分:0)

你可以这样做,以统一的方式预装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);  
}