Application that doesn’t load interstitial ads on my real device

Test interstitials work on my emulator. But they do not work on my real device.

Failed to get ad response. ErrorCode: 0

W/Ads: Failed to load ad: 0

I'm calling mInterstitialAd.show();ononNavigationItemSelected

Here is my main activity code

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) {

}

Any help would be really appreciated.

+4
source share
1 answer

Today I found out what the problem is.

I have not set my application id code in my method onCreate. There he is:MobileAds.initialize(getApplicationContext(), "your AppID");

You can find your AppID in your AdMob account.

! Google . ... .

0

Source: https://habr.com/ru/post/1649710/


All Articles