2016-09-21 19 views
2

Я использую https://github.com/floatinghotpot/cordova-admob-pro в приложении для мобильного телефона.Как показать загруженное видео награды в adMobPro?

Для интерстициального и баннера Я использую

AdMob.showInterstitial(); 

AdMob.showBanner(getSelectedPosition()); 

работает правильно. Теперь я пытаюсь отобразить видео Reward. Во-первых, я подготовил бонусной видео по

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'

дисплей при нажатии кнопки:

if (mRewardedVideoAd.isLoaded()) { 
       mRewardedVideoAd.show(); 
      }