2

我在我的 phonegap 应用程序中使用https://github.com/floatinghotpot/cordova-admob-pro 。

对于我正在使用的插页式广告和横幅广告

AdMob.showInterstitial();

AdMob.showBanner(getSelectedPosition());

工作正常。现在我正在尝试显示奖励视频。首先,我准备了奖励视频

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

然后我试图展示它

AdMob.showRewardVideoAd();

但是视频没有显示,方法showRewardVideoAd()是我的猜测showInterstitial(),在文档中我没有找到任何方法AdMob.showRewardVideoAd()

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

4

3 回答 3

0

我不确定,但也许您应该等待视频准备好,然后再致电showRewardVideoAd. 尝试从prepareRewardVideoAd.

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

于 2018-01-23T15:13:19.117 回答
0

相关一:

作为新人,我早上来到这个页面并且对 -pro 模块没有运气,
所以我转向了 -free 模块
,也就是说,cordova-plugin-admob-free

我犯了几个错误,但最终解决了它,并在这里写了一个github页面,现在它工作正常:
https ://github.com/manoharreddyporeddy/everyday-solutions/blob/master/display-ads-on-android-using- admob.js

于 2019-02-28T06:47:29.253 回答
-1

您需要做的就是实现所有必需的方法,例如 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) {

    }
}

应用程序构建.gradle

实施 'com.google.android.gms:play-services-ads:11.4.2'

单击按钮时显示广告:

if (mRewardedVideoAd.isLoaded()) {
                mRewardedVideoAd.show();
            }
于 2018-01-23T15:23:49.577 回答