Ich versuche, belohnte Videoanzeigen in meiner App zu zeigen, und jedes Mal, wenn ich versuche, die Anzeige zu laden, geht es direkt zur Methode "nicht geladene Anzeige".Fehler beim Laden der belohnten Videoanzeige mit unterschiedlichen Fehlern für jedes Gerät
Für mein Handy bekomme ich den Fehler:
W/Ads: Fail to instantiate adapter com.google.ads.mediation.chartboost.ChartboostAdapter
android.os.RemoteException
at com.google.android.gms.internal.zzgy.zzbx(Unknown Source)
at com.google.android.gms.internal.zzgy.zzbw(Unknown Source)
at com.google.android.gms.internal.zzgy.zzbu(Unknown Source)
at com.google.android.gms.internal.zzgz$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
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:220)
at com.google.android.gms.ads.internal.reward.mediation.j.a(:com.google.android.gms.DynamiteModulesA:1140)
at com.google.android.gms.ads.internal.util.b.run(:com.google.android.gms.DynamiteModulesA:19)
at com.google.android.gms.ads.internal.util.y.call(:com.google.android.gms.DynamiteModulesA:1055)
at com.google.android.gms.ads.internal.util.z.run(:com.google.android.gms.DynamiteModulesA:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Für den Emulator ich verwende ich den Fehler:
There was a problem getting an ad response. ErrorCode: 0
Auch ich gehe davon aus, dass das Problem nicht mit AdMob wie ich Banner-Anzeigen ohne Problem implementiert habe. Ich benutze Chartboost als Meditation.
import com.google.ads.mediation.admob.AdMobAdapter;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
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;
import com.chartboost.sdk.Chartboost;
import com.chartboost.sdk.CBLocation;
import com.chartboost.sdk.ChartboostDelegate;
public class Settings extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, RewardedVideoAdListener {
SharedPreferences data;
final String filename = "Data";
Button btnAds;
Button btnResetData;
Button btnHelp;
long adtime;
private RewardedVideoAd mAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Chartboost.startWithAppId(this, "I have insterted my app id here", "and my app signature here");
Chartboost.onCreate(this);
setContentView(R.layout.activity_settings);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
btnAds = (Button) findViewById(R.id.btnAds);
btnResetData = (Button) findViewById(R.id.btnResetData);
btnHelp = (Button) findViewById(R.id.btnHelp);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
btnAds.setText("Loading ad...");
// Load an ad into the AdMob banner view.
AdView adView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.setRequestAgent("android_studio:ad_template").build();
adView.loadAd(adRequest);
mAd = MobileAds.getRewardedVideoAdInstance(this);
mAd.setRewardedVideoAdListener(this);
loadRewardedVideoAd();
}
private void loadRewardedVideoAd() {
mAd.loadAd("I have inserted my app unit id here", new AdRequest.Builder().build());
}
}
Ich habe auch die anderen „nach Belohnung“ Methoden und „auf dem Rücken“ Methoden nach
Verwendet das nur die MobileAds-Methoden? Ich bin mir nicht sicher, wie ich das AdMob SDK initialisieren soll, da ich nichts online finde. Tut mir leid, ich bin ein bisschen ein Idiot in diesem Ahah. Vielen Dank! –
Ja, das ist nur die Google Mobileads-Methode. Laut ihrer Dokumentation ist der Aufruf, ihr SDK zu initialisieren: 'MobileAds.initialize (getApplicationContext()," ca-app-pub-3940256099942544 ~ 3347511713 ");' Natürlich ist die betreffende Anzeigenblock-ID Ihre besitzen. –
Danke! Testanzeigen werden jedoch immer noch nicht angezeigt. Aus irgendeinem Grund geben beide Nutzer in den Chartboost- und AdMob-Dashboards an, dass für den Anzeigenblock etwa 42 "Starts", aber keine Impressionen vorhanden sind. Platziere ich die Anzeigenblock-ID oder die App-ID in diesen Anruf? –