Reputation: 1902
I am trying to load RewardedVideoAd
, but I am getting error code 3. I am getting this message in logcat:
Fail to instantiate adapter com.google.ads.mediation.chartboost.ChartboostAdapter
android.os.RemoteException
at com.google.android.gms.internal.zzfz.zzao(Unknown Source)
at com.google.android.gms.internal.zzfz.zzan(Unknown Source)
at com.google.android.gms.internal.zzfz.zzal(Unknown Source)
at com.google.android.gms.internal.zzga$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:395)
at com.google.android.gms.ads.internal.mediation.client.d.a(:com.google.android.gms.DynamiteModulesA:94)
at com.google.android.gms.ads.internal.reward.c.b(:com.google.android.gms.DynamiteModulesA:215)
at com.google.android.gms.ads.internal.reward.mediation.h.a(:com.google.android.gms.DynamiteModulesA:1108)
at com.google.android.gms.ads.internal.util.b.run(:com.google.android.gms.DynamiteModulesA:19)
at com.google.android.gms.ads.internal.util.u.call(:com.google.android.gms.DynamiteModulesA:1055)
at com.google.android.gms.ads.internal.util.v.run(:com.google.android.gms.DynamiteModulesA:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)*
I did very much research on this but I didn't get any solution. Any help will be Appreciated
The code I implemented is:
private RewardedVideoAd mRewardedVideoAd;
MobileAds.initialize(activity, getString(R.string.admob_app_id));
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(activity);
mRewardedVideoAd.setRewardedVideoAdListener(this);
loadRewardedVideoAd();
private void loadRewardedVideoAd() {
synchronized (mLock) {
if (!mIsRewardedVideoLoading && !mRewardedVideoAd.isLoaded()) {
mIsRewardedVideoLoading = true;
Bundle extras = new Bundle();
extras.putBoolean("_noRefresh", true);
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
mRewardedVideoAd.loadAd(getString(R.string.random_video), adRequest);
}
}
}
private void showRewardedVideo() {
if (mRewardedVideoAd.isLoaded()) {
randomClicked = -1;
mRewardedVideoAd.show();
}
}
@Override
public void onRewardedVideoAdLoaded() {
mIsRewardedVideoLoading = false;
}
@Override
public void onRewardedVideoAdOpened() {
}
@Override
public void onRewardedVideoStarted() {
}
@Override
public void onRewardedVideoAdClosed() {
loadRewardedVideoAd();
}
@Override
public void onRewarded(RewardItem rewardItem) {
}
@Override
public void onRewardedVideoAdLeftApplication() {
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
mIsRewardedVideoLoading = false;
Log.i("rewarded_video", "Failed to Load Rewarded Video " + i);
loadRewardedVideoAd();
}
Upvotes: 1
Views: 3112
Reputation: 639
First, add this to the Manifest file
<activity android:name="com.chartboost.sdk.CBImpressionActivity"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize" />
Also do not forget to add the necessary permissions to the Manifest file.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Finally, if you have just created your account, or if you have just made some changes to it, you may need to wait a little before the changes take effect and before you are able to see ads.
Upvotes: 2