Android 如何在游戏中互换显示间隙

Android 如何在游戏中互换显示间隙,android,eclipse,ads,interstitial,Android,Eclipse,Ads,Interstitial,游戏结束后如何交替显示间隙 我想我的4个广告交替显示在游戏结束。 游戏结束后我的广告列表示例 1局以上 Admob 第二局结束 Startapp 三局以上 阿普洛文 比赛结束4分钟 目前只有2个广告轮流 这是我的密码 package com.example.example; import org.cocos2d.layers.CCScene; import org.cocos2d.nodes.CCDirector; import org.cocos2d.opengl.CCGLSurfaceVi

游戏结束后如何交替显示间隙 我想我的4个广告交替显示在游戏结束。 游戏结束后我的广告列表示例 1局以上 Admob 第二局结束 Startapp 三局以上 阿普洛文 比赛结束4分钟

目前只有2个广告轮流

这是我的密码

package com.example.example;

import org.cocos2d.layers.CCScene;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.opengl.CCGLSurfaceView;

import android.app.Activity;
import android.content.SharedPreferences;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.view.ViewPager.LayoutParams;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.Toast;

import com.Forestadventure.allaboutoddbuds.R;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.startapp.android.publish.ads.banner.Banner;
import com.startapp.android.publish.adsCommon.StartAppAd;
import com.startapp.android.publish.adsCommon.StartAppSDK;


public class MainActivity extends Activity {

    private CCGLSurfaceView mGLSurfaceView;
    public static boolean lock_level = false;
    public static MainActivity app;

    //<!-- Admob Ads Using Google Play Services SDK -->
        private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/6300978111";
        private static final String AD_INTERSTITIAL_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";

    public StartAppAd startAppAd;


    public static String STARTAPP_ID = "20346xxxx";

    /** The Admob ad. */
    private InterstitialAd interstitialAd = null;
    public AdView adView = null;
    AdRequest interstitialAdRequest;

    public void onCreate(Bundle savedInstanceState)
    {
        app = this;
        StartAppSDK.init(this, STARTAPP_ID, true);
        StartAppAd.disableSplash();
        startAppAd = new StartAppAd(this);


        super.onCreate(savedInstanceState);
        lock_level = LibConstante.booleanValue(getResources().getString(R.string.lock_level), "on");
        LibConstante.valueGameover = Integer.parseInt(getResources().getString(R.string.show_interstitial_every_gameover));
        LibConstante.valueGameCompleted = Integer.parseInt(getResources().getString(R.string.show_interstitial_every_gamecompleted));
        LibConstante.heroNumber = Integer.parseInt(getResources().getString(R.string.hero_number));

        // set view
                mGLSurfaceView = new CCGLSurfaceView(this);

                AdRequest adRequest = new AdRequest.Builder()
                        .addTestDevice("D700C61EFAE5E803737A2EF9D9861E27")
                        .build();




        //Ads ----------------
                // Create the adView
                final RelativeLayout layout = new RelativeLayout(this);
                layout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));



                final RelativeLayout.LayoutParams bannerParameters =
                        new RelativeLayout.LayoutParams(
                                    RelativeLayout.LayoutParams.WRAP_CONTENT,
                                    RelativeLayout.LayoutParams.WRAP_CONTENT);
            bannerParameters.addRule(RelativeLayout.CENTER_HORIZONTAL);
            bannerParameters.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 

            layout.addView(mGLSurfaceView);


            //<!-- Ads Using Google Play Services SDK -->
            adView = new AdView(this);
            adView.setAdSize(AdSize.SMART_BANNER);
            adView.setAdUnitId(AD_UNIT_ID);

            adView.loadAd(adRequest);

            adView.setAdListener(new AdListener(){

            @Override
            public void onAdFailedToLoad(int errorCode) {
                // TODO Auto-generated method stub
                Banner startAppBanner = new Banner(MainActivity.this);

                if (startAppBanner.getParent() != null) {
                    ViewGroup tempVg = (ViewGroup) startAppBanner.getParent();
                    tempVg.removeView(startAppBanner);
                }

                layout.addView(startAppBanner, bannerParameters);
            }

            @Override
            public void onAdLoaded() {
                // TODO Auto-generated method stub

                if (adView.getParent() != null) {
                    ViewGroup tempVg = (ViewGroup) adView.getParent();
                    tempVg.removeView(adView);
                }
                layout.addView(adView, bannerParameters);
            }

           });





            setContentView(layout);

         // Create an Interstitial ad.
            interstitialAd = new InterstitialAd(this);
            interstitialAd.setAdUnitId(AD_INTERSTITIAL_UNIT_ID);
            interstitialAdRequest = new AdRequest.Builder()
                 .addTestDevice("D700C61EFAE5E803737A2EF9D9861E27")
                 .build();
            interstitialAd.setAdListener(new AdListener() {
                  @Override
                  public void onAdLoaded() {
                    //interstitialAd.show();
                  }

                  @Override
                  public void onAdFailedToLoad(int errorCode) {
                      Toast.makeText(getApplicationContext(), "Interstitial Ads loading failed", Toast.LENGTH_SHORT).show();
                  }
            });
             // Load the interstitial ad.
            LoadInterstitialAds();

        //----------------------
        // set director
        CCDirector director = CCDirector.sharedDirector();
        director.attachInView(mGLSurfaceView);
        director.setAnimationInterval(1/60);

        // get display info
        DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        G.display_w = displayMetrics.widthPixels;
        G.display_h = displayMetrics.heightPixels;
        G.scale = Math.max(G.display_w/1280.0f, G.display_h/800.0f);
        G.width = G.display_w / G.scale;
        G.height = G.display_h / G.scale;

        // get data
        SharedPreferences sp = CCDirector.sharedDirector().getActivity().getSharedPreferences("GameInfo", 0);
        G.music = sp.getBoolean("music", true);
        G.sound = sp.getBoolean("sound", true);

        // create sound
        G.soundMenu = MediaPlayer.create(this, R.raw.menu);
        G.soundMenu.setLooping(true);
        G.soundGame = MediaPlayer.create(this, R.raw.game);
        G.soundGame.setLooping(true);
        G.soundCollide = MediaPlayer.create(this, R.raw.collide);
        G.soundJump = MediaPlayer.create(this, R.raw.jump);
        G.soundLongJump = MediaPlayer.create(this, R.raw.long_jump);
        G.soundSpeedDown = MediaPlayer.create(this, R.raw.speed_down);
        G.soundSpeedUp = MediaPlayer.create(this, R.raw.speed_up);
        G.soundDirection = MediaPlayer.create(this, R.raw.direction_sign);
        G.soundClick = MediaPlayer.create(this, R.raw.menu_click);
        G.soundCollect = MediaPlayer.create(this, R.raw.collect);
        G.bgSound = G.soundMenu;

        // show menu
        CCScene scene = CCScene.node();
        scene.addChild(new MenuLayer(true));
        director.runWithScene(scene);
    }  

    @Override
    public void onPause()
    {
        super.onPause();
        G.bgSound.pause();
        CCDirector.sharedDirector().onPause();
    }

    @Override
    public void onResume()
    {
        super.onResume();
        if( G.music ) G.bgSound.start();
        CCDirector.sharedDirector().onResume();
    }

    @Override
    public void onDestroy()
    {
        super.onDestroy();
        G.bgSound.pause();
        CCDirector.sharedDirector().end();
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if( keyCode == KeyEvent.KEYCODE_BACK )
        {
            CCDirector.sharedDirector().onKeyDown(event);
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    public void LoadInterstitialAds()
    {


                 interstitialAd.loadAd(interstitialAdRequest);

    }

    public void showInterstitialAds()
    {
        runOnUiThread(new Runnable() {
            public void run() {
                if (interstitialAd.isLoaded()){
                interstitialAd.show();
                LoadInterstitialAds();
                }
                else{
                    startAppAd.showAd();
                    LoadInterstitialAds();
                }
            }
        });
    }

}
package com.example.example;
导入org.cocos2d.layers.CCScene;
导入org.cocos2d.nodes.CCDirector;
导入org.cocos2d.opengl.CCGLSurfaceView;
导入android.app.Activity;
导入android.content.SharedReferences;
导入android.media.MediaPlayer;
导入android.os.Bundle;
导入android.support.v4.view.ViewPager.LayoutParams;
导入android.util.DisplayMetrics;
导入android.view.KeyEvent;
导入android.view.ViewGroup;
导入android.widget.RelativeLayout;
导入android.widget.Toast;
导入com.Forestadventure.allaboutodbuds.R;
导入com.google.android.gms.ads.AdListener;
导入com.google.android.gms.ads.AdRequest;
导入com.google.android.gms.ads.AdSize;
导入com.google.android.gms.ads.AdView;
导入com.google.android.gms.ads.alad;
导入com.startapp.android.publish.ads.banner.banner;
导入com.startapp.android.publish.adsCommon.StartAppAd;
导入com.startapp.android.publish.adsCommon.StartAppSDK;
公共类MainActivity扩展了活动{
私有CCGLSurfaceView mGLSurfaceView;
公共静态布尔锁\u级别=false;
公共静态维护活动应用程序;
//
私有静态最终字符串AD_UNIT_ID=“ca-app-pub-3940256099942544/630978111”;
专用静态最终字符串AD_填隙单元_ID=“ca-app-pub-3940256099942544/1033173712”;
公共StartAppAd StartAppAd;
公共静态字符串STARTAPP_ID=“20346xxxx”;
/**Admob广告*/
private interstitalad interstitalad=null;
public AdView AdView=null;
肾上腺间质问;
创建时的公共void(Bundle savedInstanceState)
{
app=这个;
init(这个,STARTAPP_ID,true);
StartAppAd.disableSplash();
startAppAd=新的startAppAd(本);
super.onCreate(savedInstanceState);
lock_level=LibConstante.booleanValue(getResources().getString(R.string.lock_level),“开”);
LibConstante.valueGameover=Integer.parseInt(getResources().getString(R.string.show_interstitual_every_gameover));
LibConstante.valueGameCompleted=Integer.parseInt(getResources().getString(R.string.show_interstitual_every_gamecompleted));
LibConstante.heroNumber=Integer.parseInt(getResources().getString(R.string.hero_number));
//设置视图
mGLSurfaceView=新CCGLSurfaceView(此);
AdRequest AdRequest=新建AdRequest.Builder()
.添加测试设备(“D700C61EFAE5E803737A2EF9D9861E27”)
.build();
//广告----------------
//创建adView
最终RelativeLayout布局=新RelativeLayout(本);
layout.setLayoutParams(新的RelativeLayout.LayoutParams(LayoutParams.MATCH_父级,LayoutParams.MATCH_父级));
最终相对Layout.LayoutParams横幅参数=
新RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_内容,
RelativeLayout.LayoutParams.WRAP_内容);
bannerParameters.addRule(相对中心水平);
bannerParameters.addRule(RelativeLayout.ALIGN\u PARENT\u BOTTOM);
layout.addView(mGLSurfaceView);
//
adView=新adView(本);
adView.setAdSize(AdSize.SMART_BANNER);
咨询意见。设置ADUnitID(AD_单位ID);
adView.loadAd(adRequest);
adView.setAdListener(新的AdListener(){
@凌驾
在失败的TOLOAD上公开无效(int错误代码){
//TODO自动生成的方法存根
Banner startAppBanner=新横幅(MainActivity.this);
if(startAppBanner.getParent()!=null){
视图组tempVg=(视图组)startAppBanner.getParent();
临时移除视图(startAppBanner);
}
布局。添加视图(startAppBanner、bannerParameters);
}
@凌驾
已加载的公共无效(){
//TODO自动生成的方法存根
if(adView.getParent()!=null){
ViewGroup tempVg=(ViewGroup)adView.getParent();
tempVg.removeView(adView);
}
布局。添加视图(adView、bannerParameters);
}
});
setContentView(布局);
//创建一个间隙广告。
Interstitalad=新的Interstitalad(本);
间质性单位(AD_INTERSTITIAL_UNIT_ID);
InterstitualAddRequest=new addRequest.Builder()
.添加测试设备(“D700C61EFAE5E803737A2EF9D9861E27”)
.build();
interstituralad.setAdListener(新的AdListener(){
@凌驾
已加载的公共无效(){
//间质显示();
}
@凌驾
在失败的TOLOAD上公开无效(int错误代码){
Toast.makeText(getApplicationContext(),“插入式广告加载失败”,Toast.LENGTH_SHORT.show();
}
});
//加载间隙ad。
loads();
//----------------------
//布景导演
CCDirector=CCDirector.sharedDirector();
attachInView(mGLSurfaceView)总监;
导演:setAnimationInterval(1/60);
//获取显示信息
DisplayMetrics DisplayMetrics=新的DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
G.显示=显示