2017-03-09 6 views
0

私は現在、Eclipse Lunaを使用し、admobを介してバナー広告を表示しようとしているlibgdx andriodアプリを開発中です。Admobのライブ広告がlibgdxアプリケーションに表示されない - 広告の読み込みに失敗しました:0

私のアプリは正常に動作しており、テストバナー広告は問題なく表示されています。私は、ライブ広告を受信する試験装置として、自分の携帯電話を削除すると

私はlogcatにこのエラーが表示されます。

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

私はギャラクシー注4とサムスンS5に私のアプリをテストしてみました両方のアンドロイドバージョン6.0.1を実行しています。どちらのデバイスにもカスタムROMや広告ブロッカーはなく、テスト広告も両方のデバイスで動作します。

私は、google's android guideからの参照を使用して実装上のガイドに従いました。私は問題があると思うのはここ

は..です

私のSDK Manager経由で私は、Googleがサービスのリビジョン39と、Googleのリポジトリのリビジョン44がインストールを再生しています。

C:

ガイドがにあるグーグル・プレイservices_lib添付すると言う\ユーザー\ ... \のAppData \ローカル\アンドロイド\ SDK \エクストラ\は\ google_play_services

グーグル

ファイルが存在しなくなりましたが、thisの情報に従った後、私はgoogle-play-services_lib rev 29を見つけて、それを自分のプロジェクトライブラリに追加しました。 SDKマネージャのGoogle Playサービスのリビジョンは、手動で追加したリビジョンと異なる場合はどうなりますか?

いずれにしても、テスト広告が機能していても問題はありませんが、わからないのですが、このエラーの原因になっているものは見逃していますか?

google groups(Google Mobile Ads SDKデベロッパー)からのお問い合わせにも運がありませんでした。

マイアプリユニットID:

広告ユニットID:CA-アプリ - パブ4168523587分の3059505755009716

のAp ID:CA-アプリ - パブ-3059505755009716〜2178916381

私のJava実装(AndriodLauncher.java):

public class AndroidLauncher extends AndroidApplication implements AdsController { 

    private static final String BANNER_AD_UNIT_ID = "ca-app-pub-3059505755009716/4168523587"; 
    // ca-app-pub-3059505755009716/8048823189 
    // ca-app-pub-3059505755009716/4168523587 
    AdView bannerAd; 

    @Override 
    protected void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); 

     // Create a gameView and a bannerAd AdView 
     View gameView = initializeForView(new Boot(this), config); 
     setupAds(); 

     // Define the layout 
     RelativeLayout layout = new RelativeLayout(this); 
     layout.addView(gameView, ViewGroup.LayoutParams.MATCH_PARENT, 
       ViewGroup.LayoutParams.MATCH_PARENT); 
     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, 
       ViewGroup.LayoutParams.WRAP_CONTENT); 
     params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     layout.addView(bannerAd, params); 

     setContentView(layout); 
    } 

    public void setupAds() { 
     bannerAd = new AdView(this); 
     bannerAd.setVisibility(View.GONE); 
     bannerAd.setBackgroundColor(Color.argb(0, 0, 0, 0)); // black 
     bannerAd.setAdUnitId(BANNER_AD_UNIT_ID); 
     bannerAd.setAdSize(AdSize.BANNER); 
    } 

    @Override 
    public void showBannerAd() { 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       bannerAd.setVisibility(View.VISIBLE); 
       AdRequest.Builder builder = new AdRequest.Builder(); 


       //builder.addTestDevice("9F2779F709CED00E2ADF6123C0D17A4C"); 
       //builder.addTestDevice("ECDD91BD30440E7B3F4DA0E90F1D67A9"); 
       AdRequest ad = builder.build(); 

       bannerAd.loadAd(ad); 
      } 
     }); 
    } 

    @Override 
    public void hideBannerAd() { 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       bannerAd.setVisibility(View.INVISIBLE); 
      } 
     }); 
    } 
} 

スニペットshowBannerAd()メソッドが呼び出されます。

public Boot(AdsController adsController){ 
    this.adsController = adsController; 
} 

@Override 
public void create() { 
//Gdx.app.log(TITLE, "started.."); 

// Display ads (andriod launch) 
adsController.showBannerAd(); 

setScreen(new Splash()); 

Timer.schedule(new Task(){ 
    @Override 
    public void run() { 
     assets = new Assets(); 
     assets.load(); 
     assets.manager.finishLoading(); 

     Audio.create(); 
     Audio.bgm.play(); 
     Audio.bgm.setLooping(true); 
     setScreen(new MainMenu()); 
    } 
}, 3f); 
} 

AndriodManifest。XML

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.game" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <uses-sdk 
     android:minSdkVersion="9" 
     android:targetSdkVersion="25" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/GdxTheme" > 
     <activity 
      android:name="com.game.AndroidLauncher" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
      android:label="@string/app_name" 
      android:screenOrientation="landscape" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
    </application> 

</manifest> 

EDIT:

compile 'com.google.android.gms:play-services-ads:10.0.1' 

ラインに気づいたがbuild.grandle内アンドロイド依存関係、リフレッシュの依存関係はまだありませんライブの広告から欠落していました。

答えて

1

グーグル

によると、「それはあなたがごく最近新しい広告ユニットIDを作成し、ライブ広告を要求していることが考えられます。それは、それはそのような場合であれば役立っ取得を開始するために、広告のために数時間かかることがあります。テスト広告を受け取っていれば実装は正常ですが、数時間待ってからライブ広告を受信できるかどうかを確認してください。そうでない場合は、広告ユニットIDをGoogleに送信してください。

https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/fBe3YL3ffpo

ので、数時間待ちます。

+0

私は3日間p単位のIDを持っています。私があなたが言及したフォーラムに投稿し、私のアプリIDが彼らのテストに従ってライブ広告を出していると言われました。 – girthquake

+0

広告を変更しよう:adSize = "BANNER" with ads:adSize = "SMART_BANNER" – Aryan

+0

SMART_BANNER、BANNER、LARGE_BANNERを使用しましたが、すべてのオプションでテスト広告が表示されます。 addTestDevice()をコメントアウトしてライブ広告を取得すると、同じエラーが発生します。 – girthquake

関連する問題