2014-06-27 220 views
0

我创建了Android游戏,并且我使用的是横幅广告和插页式广告 1)横幅广告在玩游戏时显示,2)插页式广告显示玩家最终赢得关卡时的情况我面临的问题是admob插页式广告正在显示,但一个不能点击它,它只显示在关卡末端,但用户无法点击它我试着四处搜索,但找不到解决方案, 请帮忙它 这些广告代码的源使用在游戏中Admob插页式广告无法点击

活动文件:

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

我打电话在不同文件中的广告代码:

  levelCompleted = true; 
     endOfGame = true; 

     soundManager.playSound(APP.SOUND_WON); 

     APP.showInterAd(); 
    } 

清单文件:

<?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> 

回答

0

确定你有你的代码中的许多问题。我建议你从https://developers.google.com/mobile-ads-sdk/docs/admob/advanced的例子开始。

几件事情你真的需要修复:

  1. 摆脱你的活动的静态属性和方法。例如,showInterAd()
  2. 在Activity.onCreate()中创建您的插页式广告,在您的游戏之前加载它,在游戏后显示它。
1

删除:

android:launchMode="singleInstance"从清单文件。

+0

这适用于我。谢了哥们! – moDev