Implementing admob for different activities

前端 未结 3 1229
一整个雨季
一整个雨季 2020-12-03 03:46

I have three activities in total and i am implementing admob for each activity, every activity has its own banner and when the activity is changes the other activity hangs a

3条回答
  •  余生分开走
    2020-12-03 04:39

    you can do it just load ad in application class and use it in any activity.

    you can download demo

    as I do it,

    App class

    import android.app.Application;
    import android.view.ViewGroup;
    import android.widget.LinearLayout;
    import com.google.android.gms.ads.AdRequest;
    import com.google.android.gms.ads.AdSize;
    import com.google.android.gms.ads.AdView;
    
    public class App extends Application {
    
    AdView adView;
    
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
    
        super.onCreate();
    
        adView = new AdView(this);
        adView.setAdSize(AdSize.SMART_BANNER);
        adView.setAdUnitId("ca-app-pub-1267746788642565/8418489933");
        // Request for Ads
        AdRequest adRequest = new AdRequest.Builder().build();
    
        // Load ads into Banner Ads
        adView.loadAd(adRequest);
    }
    
    public void loadAd(LinearLayout layAd) {
    
        // Locate the Banner Ad in activity xml
        if (adView.getParent() != null) {
            ViewGroup tempVg = (ViewGroup) adView.getParent();
            tempVg.removeView(adView);
        }
    
        layAd.addView(adView);
    
    }
    }
    

    main Activity

    public class MainActivity extends Activity {
    
    App app;
    LinearLayout layAd;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        layAd = (LinearLayout) findViewById(R.id.layad);
    
        app = (App) getApplication();
        app.loadAd(layAd);
    
        Button btnNext = (Button) findViewById(R.id.next);
        btnNext.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent iNext = new Intent(MainActivity.this,
                        SecondActivity.class);
                startActivity(iNext);
            }
        });
    }
    
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        app.loadAd(layAd);
        super.onResume();
    }
    }
    

    Second Activity

    public class SecondActivity extends Activity {
    
    App app;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_second);
    
        LinearLayout layAd = (LinearLayout) findViewById(R.id.layad);
    
        app = (App) getApplication();
        app.loadAd(layAd);
    }
    }
    

    Manifest xml

    
    
    
    
    
    
    
    
    
        
            
                
    
                
            
        
        
        
    
        
    
        
    
    
    

    main activity layout xml

    
    
    
    
    
    

    and second activity layout xml

    
    
    
    
    
    

提交回复
热议问题