4

我在我的项目中使用firebase适配器,现在我将admob集成到奖励广告中,它工作正常,但是每个视频在完成后都会抛出以下错误......

  java.lang.ClassCastException: com.google.ads.mediation.admob.AdMobAdapter cannot be cast to com.google.android.gms.ads.mediation.m
    at com.google.android.gms.ads.internal.mediation.client.y.a(:com.google.android.gms.dynamite_dynamitemodulesa@12685008@12.6.85 (020306-197041431):262)
    at com.google.android.gms.ads.internal.reward.c.b(:com.google.android.gms.dynamite_dynamitemodulesa@12685008@12.6.85 (020306-197041431):54)
    at com.google.android.gms.ads.internal.reward.client.e.onTransact(:com.google.android.gms.dynamite_dynamitemodulesa@12685008@12.6.85 (020306-197041431):56)
    at android.os.Binder.transact(Binder.java:380)
    at com.google.android.gms.internal.ads.zzej.transactAndReadExceptionReturnVoid(Unknown Source)
    at com.google.android.gms.internal.ads.zzahb.zze(Unknown Source)
    at com.google.android.gms.internal.ads.zzahm.resume(Unknown Source)
    at com.mopub.mobileads.GooglePlayServicesRewardedVideo$1.onResume(GooglePlayServicesRewardedVideo.java:84)
    at com.mopub.common.MoPubLifecycleManager.onResume(MoPubLifecycleManager.java:83)
    at com.mopub.common.MoPub.onResume(MoPub.java:257)
    at com.coderays.realquiz.RealQuizDashBoard.onResume(RealQuizDashBoard.java:956)
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1280)
    at android.app.Activity.performResume(Activity.java:6096)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3011)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3063)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1361)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5343)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

我会尝试这种方法https://stackoverflow.com/a/49959522/6477998但仍然抛出这个错误。

我的毕业生是..

dependencies {
     implementation('com.mopub:mopub-sdk-interstitial:5.0.0@aar') {
     transitive = true
      }
    // For rewarded videos. This will automatically also include interstitials
     implementation('com.mopub:mopub-sdk-rewardedvideo:5.0.0@aar') {
     transitive = true
      }
     implementation 'com.google.firebase:firebase-core:16.0.0'
     implementation 'com.google.firebase:firebase-ads:15.0.1'
  }

改哪一个,请给我一个解决方案,我还在寻找3天但没有改善。

提前谢谢...

4

1 回答 1

0

谢谢,错误将在很长一段时间后修复。

第 1 步:GooglePlayServicesRewardedVideo.java我从com.mopub.mobileads(如果您正在使用GooglePlayServicesInterstitial.java请删除)中删除我的适配器类。

第 2 步:然后,将 admob 中介 sdk 放入 build.gradle 即implementation 'com.mopub.mediation:admob:15.0.0.8'

第 3 步:然后,删除奖励展示活动中的以下行。

public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   MoPubRewardedVideos.initializeRewardedVideo(this);
   MoPub.onCreate(this); // remove 
   // ...
}

@Override
public void onPause() {
    super.onPause();
    MoPub.onPause(this); // remove 
}

@Override
public void onResume() {
    super.onResume();
    MoPub.onResume(this);  // remove 
}

// The following methods are required for Chartboost rewarded video mediation
@Override
public void onStart() {
    super.onStart();
    MoPub.onStart(this); // remove 
}

@Override
public void onRestart() {
    super.onRestart();
    MoPub.onRestart(this); // remove 
}

@Override
public void onStop() {
    super.onStop();
    MoPub.onStop(this); // remove 
}

@Override
public void onDestroy() {
    super.onDestroy();
    MoPub.onDestroy(this); // remove 
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    MoPub.onBackPressed(this); // remove 
  }
}

第 4 步:同步您的项目,并进行构建。它工作正常,没有错误。

谢谢。

于 2018-07-11T05:44:31.790 回答