La aplicación no puede cargar anuncios intersticiales en mi dispositivo real

Los anuncios intersticiales de prueba están trabajando en mi emulador. Pero no funcionan en mi dispositivo real.

Se produjo un problema al obtener una respuesta de anuncio. ErrorCode: 0

 W/Ads: Failed to load ad: 0 

Estoy llamando a mInterstitialAd.show(); on onNavigationItemSelected

Aquí está mi código de actividad principal

 public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, OddsConversionFragment.OnFragmentInteractionListener, KellyCalculatorFragment.OnFragmentInteractionListener, PoissonCalculatorFragment.OnFragmentInteractionListener, TrixieFragment.OnFragmentInteractionListener{ private static final String TAG = "ANALYTICS"; private Tracker mTracker; InterstitialAd mInterstitialAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupDrawerToolbar(); createAndAddFragment(); // Obtain the shared Tracker instance. AnalyticsApplication application = (AnalyticsApplication) getApplication(); mTracker = application.getDefaultTracker(); //Ads mInterstitialAd = new InterstitialAd(this); mInterstitialAd.setAdUnitId("ca-app-pub-82304873078*******"); //My Ad ID mInterstitialAd.setAdListener(new AdListener() { @Override public void onAdClosed() { requestNewInterstitial(); } }); requestNewInterstitial(); } private void requestNewInterstitial() { AdRequest adRequest = new AdRequest.Builder() .addTestDevice("2CDE4B2B9E906AA1AB8A4EF9690AA6B9") .build(); //2CDE4B2B9E906AA1AB8A4EF9690AA6B9 Device ID for mInterstitialAd.loadAd(adRequest); } private void createAndAddFragment() { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); OddsConversionFragment oddsConversionFragment = new OddsConversionFragment(); fragmentTransaction.add(R.id.fragment_container, oddsConversionFragment); fragmentTransaction.commit(); } private void replaceFragment(Fragment fragment) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.fragment_container, fragment); fragmentTransaction.commit(); } private void setupDrawerToolbar() { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); setTitle(getString(R.string.odds_calculator)); 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.addDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { new AlertDialog.Builder(this) .setIcon(R.drawable.ic_close) .setTitle("Closing Application") .setMessage("Are you sure you want to close the app?") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }) .setNegativeButton("No", null) .show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); } // Handle navigation view item clicks here. int id = item.getItemId(); if (id == R.id.nav_oddsCalculator) { replaceFragment(new OddsConversionFragment()); setToolbarTitle(getString(R.string.odds_calculator)); showScreen(getString(R.string.odds_calculator)); } else if (id == R.id.nav_kellyCalculator) { replaceFragment(new KellyCalculatorFragment()); setToolbarTitle(getString(R.string.kelly_calculator)); showScreen(getString(R.string.kelly_calculator)); } else if (id == R.id.nav_poissonCalculator) { replaceFragment(new PoissonCalculatorFragment()); setToolbarTitle(getString(R.string.poisson_calculator)); showScreen(getString(R.string.poisson_calculator)); } else if (id == R.id.nav_trixie_calculator) { replaceFragment(new TrixieFragment()); setToolbarTitle(getString(R.string.trixie_calculator)); showScreen(getString(R.string.trixie_calculator)); } else if (id == R.id.nav_share) { } else if (id == R.id.nav_send) { } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); return true; } private void showScreen(String screenName) { Log.i(TAG, "Setting screen name: " + screenName); mTracker.setScreenName(screenName); mTracker.send(new HitBuilders.ScreenViewBuilder().build()); } private void setToolbarTitle(String name) { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(name); } @Override public void onFragmentInteraction(Uri uri) { } 

Cualquier ayuda será muy apreciada.

Hoy descubrí cuál era el problema.

No establecí mi Código de ID de aplicación en mi método onCreate . Aquí está: MobileAds.initialize(getApplicationContext(), "your AppID");

Puede encontrar su AppID en su cuenta de AdMob.

Ahora los anuncios de prueba y reales están funcionando. La guía intesticial de Google la falta. Sólo escriben sobre ello en el tutorial de banner … Así es como me enteré.

  • ¿Cómo desplazarse por la pantalla en la prueba de espresso android? Necesito validar el texto presente en la pantalla
  • Jodatime inicio del día y fin del día
  • ¿Vincula el texto de EditText a una variable?
  • Obtención de CID, LAC y potencia de señal de todas las torres de celdas en rango
  • Android reconocimiento de voz: startActivityForResult () no funciona
  • AndroidRuntime error: Paquete: incapaz de marshal valor
  • Cómo introducir la contraseña automáticamente en Webview
  • ¿Cómo utilizar las anotaciones de Java para guiar Proguard de Android?
  • android.support.v7.widget.GridLayout falló al instanciar
  • Anotación personalizada de Java y carga dinámica
  • Android - Extraño EscapeUtil.unescapeString falla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.