Last active
August 29, 2015 14:04
-
-
Save blundell/421be929800c91ac663b to your computer and use it in GitHub Desktop.
Google Play Services AdMob loader - boiler plater saver
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Also has an explanatory blog post: Migrating to AdMob in Google Play Services from AdMob sdk jar