AdMob インタースティシャルのゲームで大きな問題が発生しました。タイマーが終了するか、プレーヤーがラウンドを終了すると、広告が表示されます。というわけで活動終了。繋がらなくてもOK。活動の変化は速いです。神と高速接続がある場合も同じです。問題は、価値のある接続があり、プレーヤーがラウンドを終了したときに、アクティビティが変化しない長い時間 (広告がまったく表示されないこともあります) があるため、プレーヤーは厳しい時間でもプレイし続けることができることです。以上。これは私のコードです:
public void onDismissScreen(Ad arg0) {
// TODO Auto-generated method stub
}
public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
Intent data = new Intent();
data.putExtra("team", team);
myDB.close();
data.putExtra("A", A);
data.putExtra("B", B);
// data.putExtra("contaDb", this.contDb);
setResult(1, data);
finish();
}
public void onLeaveApplication1(Ad arg0) {
// TODO Auto-generated method stub
}
public void onPresentScreen1(Ad arg0) {
// TODO Auto-generated method stub
}
public void onReceiveAd(Ad ad) {
Log.d("OK", "Received ad");
if (ad == interstitial) {
if(ad.isReady())
interstitial.show();
}
Intent data = new Intent();
data.putExtra("team", team);
myDB.close();
data.putExtra("A", A);
data.putExtra("B", B);
// data.putExtra("contaDb", this.contDb);
setResult(1, data);
finish();
}
public void onDismissScreen1(Ad arg0) {
// TODO Auto-generated method stub
}
public void onLeaveApplication(Ad arg0) {
// TODO Auto-generated method stub
}
public void onPresentScreen(Ad arg0) {
// TODO Auto-generated method stub
}
と:
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null)
return false;
return ni.isConnected();
}
public void visualizzaRisultatoActivity() {
if (isOnline()) {
interstitial = new InterstitialAd(this, "0976ebb3525a494a");
// Create ad request
AdRequest adRequest = new AdRequest();
// Begin loading your interstitial
interstitial.loadAd(adRequest);
// Set Ad Listener to use the callbacks below
interstitial.setAdListener(this);
} else {
Intent data = new Intent();
data.putExtra("team", team);
myDB.close();
data.putExtra("A", A);
data.putExtra("B", B);
// data.putExtra("contaDb", this.contDb);
setResult(1, data);
finish();
}
}
VisualizzaRisultatoActivity は、時間が終了するか、プレーヤーがラウンドをキャンセルしたときに呼び出されます。前もって感謝します