2016-09-21 61 views
2

我在我的phonegap应用程序中使用https://github.com/floatinghotpot/cordova-admob-pro如何在adMobPro中显示加载的奖励视频?

为间质和横幅我使用

AdMob.showInterstitial(); 

AdMob.showBanner(getSelectedPosition()); 

工作正常。现在我试图显示奖励视频。首先我已经

AdMob.prepareRewardVideoAd({adId: admobid.reward, autoShow: false}); 

然后我试图表现出来

AdMob.showRewardVideoAd(); 

准备奖励视频,但视频没有显示,该方法showRewardVideoAd()是我的猜测w.r.t. showInterstitial(),在文档中我还没有找到任何方法,如AdMob.showRewardVideoAd()

什么是正确的方法,我应该如何显示它?请帮忙

回答

0

我不确定,但也许你应该在致电showRewardVideoAd之前等待准备好视频。尝试从prepareRewardVideoAd的成功回调中调用该函数。

此外,您是否使用“Admob”。函数调用之前?我认为这是必要的。

0

所有你需要做的就是实现所有必需的方法,如onResume,onPause。

看看我的活动类:

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.MobileAds; 
import com.google.android.gms.ads.reward.RewardItem; 
import com.google.android.gms.ads.reward.RewardedVideoAd; 
import com.google.android.gms.ads.reward.RewardedVideoAdListener; 

public class AdActivity extends AppCompatActivity implements RewardedVideoAdListener { 

    private RewardedVideoAd mRewardedVideoAd; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ad); 

     // Use an activity context to get the rewarded video instance. 
     mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this); 
     mRewardedVideoAd.setRewardedVideoAdListener(this); 
     requestNewRewardVideo(); 
    } 

    protected void onResume() { 
     super.onResume(); 
     mRewardedVideoAd.resume(this); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     mRewardedVideoAd.pause(this); 
    } 

    @Override 
    public void onDestroy() { 
     mRewardedVideoAd.destroy(this); 
     super.onDestroy(); 
    } 

    private void requestNewRewardVideo() { 
     //load rewared video 
     mRewardedVideoAd.loadAd("ca-app-pub-xxxxxxxxxxxxxxxxxx", 
       new AdRequest.Builder().build()); 

    } 

    @Override 
    public void onRewardedVideoAdLoaded() { 
     mRewardedVideoAd.show(); 
    } 

    @Override 
    public void onRewardedVideoAdOpened() { 

    } 

    @Override 
    public void onRewardedVideoStarted() { 

    } 

    @Override 
    public void onRewardedVideoAdClosed() { 
     //request for new reward video 
     requestNewRewardVideo(); 
    } 

    @Override 
    public void onRewarded(RewardItem rewardItem) { 
     // reward your user here 
    } 

    @Override 
    public void onRewardedVideoAdLeftApplication() { 

    } 

    @Override 
    public void onRewardedVideoAdFailedToLoad(int i) { 

    } 
} 

应用的build.gradle

实行 'com.google.android.gms:发挥服务的广告:11.4.2'

显示点击Button时的广告:

if (mRewardedVideoAd.isLoaded()) { 
       mRewardedVideoAd.show(); 
      } 
相关问题