2015-05-14 65 views
0

我想在游戏开始前在我的游戏中添加插页式广告。Admob游戏开始前的插播式广告

当您运行应用程序时,您有3种不同的游戏模式,因此当您选择一种游戏模式时,游戏将以该模式启动。这个想法是在游戏开始之前按下按钮后显示插页式广告。

我遵循了Android开发者页面上的指南,here,但这并不符合我的需要。我已经修改了一些以适合我的代码,但是在开始游戏之前没有显示插页式广告,当您完成游戏并返回到mainActivity时会显示它。

这是我的代码:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    btn1Player = (ImageButton) findViewById(R.id.OnePlayerImgBtn); 
    btnVersus = (ImageButton) findViewById(R.id.VersusImgBtn); 
    btnLocalMultiP = (ImageButton) findViewById(R.id.LCLMultiPlayerImgBtn); 

    mInterstitialAd = new InterstitialAd(this); 
    mInterstitialAd.setAdUnitId(getString(R.string.ad_intersticial_1_id)); 
    requestNewInterstitial(); 


    btn1Player.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(false,true,MODE_SINGLE); 
     } 
    }); 
    btnVersus.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(false,true,MODE_VERSUS); 
     } 
    }); 
    btnLocalMultiP.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      displayInterstitial(); 
      startGame(true,true,MODE_LOCALMULTI); 
     } 
    }); 

    mInterstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdClosed() { 
      requestNewInterstitial(); 
     } 
    }); 
} 



private void requestNewInterstitial() { 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(adRequest); 
} 


public void displayInterstitial() { 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 
} 
+0

请务必使该活动的第一个运行异常。除了病毒或崩溃之外,没有更好的方式来激怒用户,而不是在他们看到游戏之前向他们展示广告。 – SmulianJulian

回答

1
String singlemode ="Off"; 
String versus ="Off"; 
String multi ="Off"; 

btn1Player.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String singlemode ="On"; 
    } 
}); 
btnVersus.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String versus ="On"; 
    } 
}); 
btnLocalMultiP.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     displayInterstitial(); 
     String multi="On"; 
    } 
}); 

mInterstitialAd.setAdListener(new AdListener() { 
    @Override 
    public void onAdClosed() { 

if singlemode.equals("On"); 
{startGame(false,true,MODE_SINGLE);} 

if versus.equals("On"); 
{startGame(false,true,MODE_VERSUS);} 

if multimode.equals("On"); 
{startGame(true,true,MODE_LOCALMULTI);} 
     requestNewInterstitial(); 
    } 
}); 
+0

我必须对代码进行一些修改才能使其正常工作,这就是我所需要的! – masmic

+0

我想使用开关,但忘记了如何。但是,你有它的工作!对你有好处。希望你的游戏取得成功。 – SmulianJulian