15

デモンストレーションの目的で、アプリにはこれを提供する 1 つのアクティビティがあります。 ここに画像の説明を入力

ボタンをクリックしてリワード ビデオを表示すると、何でもリワードを受け取ります。

問題

どうすればビデオをロードできますか? 私が見たところ、あなたは一度しか電話をかけることができませんmAd.loadAd()。3 つの動画があり、それぞれに独自の AD UNIT ID があります。各広告ユニットには独自のリスナーを設定できますが、読み込まれる動画は 1 つだけなので問題ありません...

複数の動画を読み込もうとすると

例えば:

mAd1.loadAd("AD_UNIT_1", new AdRequest.Builder().build());
mAd2.loadAd("AD_UNIT_2", new AdRequest.Builder().build());
mAd3.loadAd("AD_UNIT_3", new AdRequest.Builder().build());

最後のビデオのみが読み込まれ、これがログに記録されます。

W/Ads: Loading already in progress, saving this object for future refreshes.

onCreate()

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

    mAd1 = MobileAds.getRewardedVideoAdInstance(this);
    mAd2 = MobileAds.getRewardedVideoAdInstance(this);
    mAd3 = MobileAds.getRewardedVideoAdInstance(this);

    listeners...

    mAd1.loadAd() etc
}

ご協力ありがとうございました

編集:この問題について間違って考えていることは明らかです。5 つ以上の広告ゾーンがあり、それぞれがリワード ビデオを再生し、異なるリワードを提供します (たとえば、1 つはコインを提供し、もう 1 つはレベルアップを提供します..)。5 つのビデオをロードする理由はありません。必要なときに準備ができるように に1 つロードonCreate()する必要があります。次に、アイテムが報われた後に再度ロードして、次回の準備が整うようにします。

動画が 1 つしかなく、広告ゾーンが 1 つだけ読み込まれているonCreate()場合、どの報酬を与えるべきかを追跡するにはどうすればよいでしょうか?

4

3 に答える 3

0
    MobileAds.initialize ( this, "ca-app-pub-4761500786576152~8215465788" );

    RewardedVideoAd mAd = MobileAds.getRewardedVideoAdInstance(this);
    mAd.setRewardedVideoAdListener(Video_Ad.this);

}

@Override
public void onRewardedVideoAdLoaded() {

}

@Override
public void onRewardedVideoAdOpened() {

}

@Override
public void onRewardedVideoStarted() {

}

@Override
public void onRewardedVideoAdClosed() {

}

@Override
public void onRewarded(RewardItem rewardItem) {

}

@Override
public void onRewardedVideoAdLeftApplication() {

}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {

}

@Override
public void onRewardedVideoCompleted() {

}
于 2019-10-14T07:02:47.293 に答える