奖励视频 AdMob 中介、Applovin 和 Chartboost - 加载失败

Rewarded Video AdMob Mediation, Applovin and Chartboost - Failed To Load

我在使用 Applovin 和 Chartboost 实施 AdMob 奖励视频中介时被困了 3 天,代码完全找到了,但是当我启动应用程序时,它说 "onRewardedVideoAdFailedToLoad" 并且广告不会显示。以下是我的代码,如果我在代码中有任何错误,请帮助我。

import com.applovin.sdk.AppLovinSdk;
import com.chartboost.sdk.Chartboost;
import com.google.ads.mediation.chartboost.ChartboostAdapter;
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 MainActivity extends Activity implements RewardedVideoAdListener {
private Button rewarded_video;
private RewardedVideoAd mAd;

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

    AppLovinSdk.initializeSdk(getApplicationContext());
    AppLovinIncentivizedInterstitial myIncent = AppLovinIncentivizedInterstitial.create(this);
    myIncent.preload(null);

    Chartboost.startWithAppId(this, "xxxxxx", "xxxxxx");
    Chartboost.onCreate(this);

    MobileAds.initialize(this, APP_ID);
    mAd = MobileAds.getRewardedVideoAdInstance(this);
    mAd.setRewardedVideoAdListener(this);

    Bundle bundle = new Bundle();
    bundle.putBoolean("mute_audio", true);
    AdRequest adRequest = new AdRequest.Builder()
            .addNetworkExtrasBundle(ChartboostAdapter.class, bundle)
            .addNetworkExtrasBundle(ApplovinAdapter.class, bundle)
            .build();
    mAd.loadAd(AD_UNIT_ID, adRequest);

    rewarded_video = (Button) findViewById(R.id.rewarded_interstitial);
    rewarded_video.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (mAd.isLoaded()) {
                mAd.show();
            }
        }
    });

}
@Override
public void onResume() {
    mAd.resume(this);
    super.onResume();
    Chartboost.onResume(this);
}
@Override
public void onPause() {
    mAd.pause(this);
    super.onPause();
    Chartboost.onPause(this);
}
@Override
public void onDestroy() {
    mAd.destroy(this);
    super.onDestroy();
    Chartboost.onDestroy(this);
}
@Override
public void onStop() {
    super.onStop();
    Chartboost.onStop(this);
}


@Override
public void onBackPressed() {
    // If an interstitial is on screen, close it.
    if (Chartboost.onBackPressed())
        return;
    else
        super.onBackPressed();
}



@Override
public void onRewardedVideoAdLeftApplication() {
    Toast.makeText(this, "onRewardedVideoAdLeftApplication", Toast.LENGTH_SHORT).show();
}

@Override
public void onRewardedVideoAdClosed() {
    Toast.makeText(this, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
}

@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
    Toast.makeText(this, "onRewardedVideoAdFailedToLoad", Toast.LENGTH_SHORT).show();
    //rewarded_video.setVisibility(View.GONE);
}

@Override
public void onRewardedVideoAdLoaded() {
    Toast.makeText(this, "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).show();
}

@Override
public void onRewardedVideoAdOpened() {
   Toast.makeText(this, "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show();
}

@Override
public void onRewarded(RewardItem reward) {

}

@Override
public void onRewardedVideoStarted() {
    Toast.makeText(this, "onRewardedVideoStarted", Toast.LENGTH_SHORT).show();
}
}

非常感谢您的热心帮助。

您是想通过 AdMob 调解 AppLoving 和 Chartboost,还是想在 Admob 之外调用 AppLovin 和 Chartboost SDK?

您似乎在尝试分别初始化 AppLovin 和 Chartboost SDK,然后在这两个广告源未经中介的情况下尝试对 AdMob 本身使用显示调用。我上次检查时发现,AdMob 本身不支持奖励视频,而是依赖其他广告网络来源来显示奖励视频,这可能就是您什么都得不到的原因。只是旁注,您已经在 AdMob 的信息中心中设置了所有内容,是吗? (例如,设置中介来源并设置适当的广告单元)

为了使代码能够正常工作,您需要 Chartboost 或 AppLovin 自己的广告展示调用以显示奖励视频,而不是 AdMob 的。如果您尝试进行调解,AdMob 提供了关于 their site to help you out. They also have a guide for AppLovin as well as all of their approved integration partners.

的指南

希望对您有所帮助。