0

まず、3 つの異なるレイアウトにつながる 3 つのボタンを備えたメニューがあります。私が欲しいのは、アプリケーションを閉じたときにインタースティシャル広告を表示したいです。何が起こるか、メモリを節約するために、すべてのボタンに finish() を追加して、すべてのメモリを消費しないようにする必要がありました。ボタンをクリックすると、インタースティシャル広告が表示されます。

アクティビティを切り替えたときではなく、アプリを完全に閉じたときにのみインタースティシャルを表示するようにコードを設定できません。私のコード:

package puske.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.google.ads.*;
import com.google.ads.AdRequest.ErrorCode;

public class Menu extends Activity implements AdListener {
private InterstitialAd interstitial;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);
    interstitial = new InterstitialAd(this, "ID");

    // 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);
  }

  @Override
  public void onReceiveAd(Ad ad) {
{



Button button1=(Button)findViewById(R.id.menu1);
button1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        startActivity(new Intent(Menu.this, Rifles.class));
        finish();

    }
});
Button button2=(Button)findViewById(R.id.menu2);
button2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        startActivity(new Intent(Menu.this, Pistols.class));
        finish();
    }

});



Button button4=(Button)findViewById(R.id.menu3);
button4.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        startActivity(new Intent(Menu.this, Snipers.class));
        finish();
        }
});
}
  }


  @Override
        protected void onDestroy() {
            interstitial.show();
            super.onDestroy();
             // explicitly release media player
            unbindDrawables(findViewById(R.id.menuzor));
            System.gc();
  }

    private void unbindDrawables(View view) {
        if (view.getBackground() != null) {
            view.getBackground().setCallback(null);
        }

        if (view instanceof ViewGroup) {
            for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
                unbindDrawables(((ViewGroup) view).getChildAt(i));
            }
            try
            {
                ((ViewGroup) view).removeAllViews();
            }
            catch(UnsupportedOperationException ignore)
            {
            }
}
}



    @Override
    public void onLeaveApplication(Ad arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onDismissScreen(Ad arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onPresentScreen(Ad arg0) {
        // TODO Auto-generated method stub

    }

}
4

1 に答える 1