我在使用 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();
}
}
非常感谢您的热心帮助。