Admob非页面时间显示

时间:2013-04-25 14:08:21

标签: android admob interstitial

我在使用AdMob插页式广告的游戏中遇到了一个大问题。当计时器结束或玩家退出该轮时,将显示广告。所以在活动结束时。 没有连接时,没关系。活动的变化很快。当有一个神和快速连接相同。问题是当有一个值得联系的时候,当玩家完成这一轮时,有很长一段时间(有时广告从未显示)活动不会改变,所以玩家可以继续玩甚至比较艰难的时候是过度。这是我的代码:

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。提前致谢

1 个答案:

答案 0 :(得分:1)

最佳做法是在游戏过程中预加载插页式广告,然后在游戏结束时进行轮询:

if(interstitial.isReady()) {
  interstitial.show();
}

当您的插页式广告调用isReady时,onReceiveAd标记会设置,但您可以等到游戏结束时再显示该标记。请注意,您可能应该在游戏活动中请求/显示您的插页式广告,而不是您的VisualizzaRisultatoActivity。预计插页式广告将与您传递给其构造函数的活动一起显示。