user3566830
user3566830

Reputation: 1

Admob Interstitial Ad non clickable

I created a Android Game and the issue i am using both Banner ad and a Interstitial ad 1) Banner ad shows while playing the game and 2) Interstitial Ad shows when player ends up winning a level but the problem i am facing is admob interstitial ad is showing up but one cannot click it, it only display at the level end but user not able to click it i tried searching around but couldn't find the solution for it, Please help with it These are the source usage of the ad code in the game

The Activity file :

public class APP extends Activity
{
private InterstitialAd interstitial;
 }
public static void showInterAd(){
  ((APP)APP.ctx).showAd();
}
// BANNER AD
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ctx = this;
setVolumeControlStream(AudioManager.STREAM_MUSIC);
requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.main);
// Create ad request.
AdRequest adRequest = new AdRequest.Builder().build();
 // Look up the AdView as a resource and load a request.
AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(adRequest);
}// INTERSTITIAL AD
public void showAd(){
  ((Activity)ctx).runOnUiThread(new Runnable() {
        @Override
    public void run() {
            // Create the interstitial.
              interstitial = new InterstitialAd(APP.this);
                interstitial.setAdUnitId("ca-app-pub-ID");
        AdRequest adRequest = new AdRequest.Builder().build();
                interstitial.loadAd(adRequest);
            // Set the AdListener.
            interstitial.setAdListener(new AdListener() {
                  @Override
                  public void onAdLoaded() {
                      if (interstitial.isLoaded()) {
                            interstitial.show();

I am calling the Ad code in different file :

          levelCompleted = true;
      endOfGame = true;

      soundManager.playSound(APP.SOUND_WON);

      APP.showInterAd();
    }

The Manifest File :

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

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
    android:name="android.permission.ACCESS_COARSE_LOCATION"
    android:required="false" />
<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"
    android:required="false" />
<uses-permission
    android:name="android.permission.ACCESS_MOCK_LOCATION"
    android:required="false" />
<uses-permission
    android:name="android.permission.ACCESS_NETWORK_STATE"
    android:required="false" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar">

    <activity
        android:name="com.xyz.APP"
        android:alwaysRetainTaskState="true"
        android:configChanges="orientation|keyboard"

        android:label="@string/app_name"
        android:launchMode="singleInstance"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.XYZ.GAME" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

        </activity>

  <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
  <activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

</application>
</manifest>

Upvotes: 0

Views: 1267

Answers (2)

Ice
Ice

Reputation: 11

Remove :

android:launchMode="singleInstance" from Manifest File.

Upvotes: 1

William
William

Reputation: 20196

OK you have many problems with your code. I suggest you start by following the examples on https://developers.google.com/mobile-ads-sdk/docs/admob/advanced.

Several things you really need to fix:

  1. Get rid of static attributes and methods in your Activity. Eg showInterAd()
  2. Create your interstitial in Activity.onCreate(), load it before your game, show it after your game.

Upvotes: 0

Related Questions