游戏开始前的 Admob Interstitial 展示
Admob Interstitial show before game start
我想在游戏开始前在我的游戏中添加插页式广告。
当您 运行 应用程序时,您有 3 种不同的游戏模式,因此当您 select 一个时,游戏将以该模式开始。这个想法是在你按下按钮后,就在游戏开始之前显示插页式广告。
我已按照 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();
}
}
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();
}
});
我想在游戏开始前在我的游戏中添加插页式广告。
当您 运行 应用程序时,您有 3 种不同的游戏模式,因此当您 select 一个时,游戏将以该模式开始。这个想法是在你按下按钮后,就在游戏开始之前显示插页式广告。
我已按照 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();
}
}
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();
}
});