2017-01-26 10 views
0

報酬を与えられたビデオ広告をアプリに表示しようとしていますが、その広告を読み込んだり読み込むたびに「広告を読み込めませんでした自分の携帯電話のために報酬を与えられたビデオ広告をデバイスごとに異なるエラーで読み込む際にエラーが発生しました

私はエラーを取得:私は使用していエミュレータの

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) 

、私はエラーを取得する:

There was a problem getting an ad response. ErrorCode: 0 

また、私はこの問題は、AdMobのではないことを想定しています私はバナー広告を問題なく実装しています。私はmedioionとしてchartboostを使用しています。

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()); 
    } 
} 

私はまた、あなたがAdMobのメディエーションと一緒Chartboost SDKを初期化しようとしているかのように見えます

答えて

0

た後、他の「ご褒美の後」メソッドと「背中に」メソッドを持っています。これは、SDKとSDKアダプタがお互いにうまく行かないため、私自身のプロジェクトではかなり問題があることが証明されています。

AdMobメソッドを使用してChartboostを呼び出す必要があるだけで、個別に初期化しようとするとChartboostアダプタが失敗します。

AdMobは、広告ネットワークSDKを呼び出すだけでAdMobが呼び出されるため、AdMobがどのように設計されているかという点で少し面倒です(アセットをダウンロードするのは面倒です)。

Chartboostのstartwithメソッドを省略し、通常のAdMobメソッドに置き換えてAdMob SDKを初期化すると、この問題が解決するはずです。

+0

MobileAdsメソッドを使用しているのですか?オンラインで何も見つからないため、AdMob SDKを初期化する方法がわかりません。申し訳ありませんが、私はこのああで少しばかです。どうもありがとうございました! –

+0

はい、Google Mobileadsメソッドを使用しているだけです。彼らのドキュメントによると、SDKを初期化する呼び出しは、 'MobileAds.initialize(getApplicationContext()、ca-app-pub-3940256099942544〜3347511713"); です。もちろん、問題の広告ユニットIDはあなたの自分の。 –

+0

ありがとう!しかし、テスト広告はまだ表示されておらず、何らかの理由でChartboostとAdMobのダッシュボードでは、広告ユニットの場合、約42回の「起動」がありますが、インプレッションはありません。その呼び出しに広告ユニットIDまたはアプリIDを挿入しますか? –

関連する問題