Skip to content

Instantly share code, notes, and snippets.

@blundell
Last active August 29, 2015 14:04
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save blundell/421be929800c91ac663b to your computer and use it in GitHub Desktop.
Save blundell/421be929800c91ac663b to your computer and use it in GitHub Desktop.
Google Play Services AdMob loader - boiler plater saver
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adUnitId="@string/admob_add_unit_id"
ads:adSize="SMART_BANNER" />
</LinearLayout>
public class AdMobPokerExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdMobPoker.track(findViewById(R.id.adView), savedInstanceState);
}
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import android.view.View;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class AdMobPoker implements Application.ActivityLifecycleCallbacks {
private final AdView adView;
public static void track(View adView, Bundle savedInstanceState) {
if (!(adView instanceof AdView)) {
throw new IllegalStateException("The view you pass must be an AdMob view.");
}
AdMobPoker adMobPoker = new AdMobPoker((AdView) adView);
Activity activity = (Activity) adView.getContext();
activity.getApplication().registerActivityLifecycleCallbacks(adMobPoker);
adMobPoker.onActivityCreated(activity, savedInstanceState);
}
private AdMobPoker(AdView adView) {
this.adView = adView;
}
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
adView.loadAd(adRequest);
}
@Override
public void onActivityStarted(Activity activity) {
// not used
}
@Override
public void onActivityResumed(Activity activity) {
adView.resume();
}
@Override
public void onActivityPaused(Activity activity) {
adView.pause();
}
@Override
public void onActivityStopped(Activity activity) {
// not used
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
// not used
}
@Override
public void onActivityDestroyed(Activity activity) {
adView.destroy();
activity.getApplication().unregisterActivityLifecycleCallbacks(this);
}
}
@blundell
Copy link
Author

blundell commented Aug 3, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment