interstitial

This commit is contained in:
danijoo
2015-11-07 12:29:59 +01:00
parent 066e25f852
commit 052727c62a
3 changed files with 61 additions and 7 deletions

View File

@@ -7,13 +7,44 @@ import android.view.ViewGroup;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams; import android.widget.RelativeLayout.LayoutParams;
import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import net.headlezz.jokesbackend.myApi.model.Joke;
public class MainActivityFlavoredFragment extends MainActivityFragment { public class MainActivityFlavoredFragment extends MainActivityFragment {
public static String TAG = MainActivityFlavoredFragment.class.getSimpleName(); public static String TAG = MainActivityFlavoredFragment.class.getSimpleName();
InterstitialAd mInterstitial;
Joke mJoke;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mInterstitial = new InterstitialAd(getContext());
mInterstitial.setAdUnitId(getString(R.string.banner_ad_unit_id));
mInterstitial.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
loadNextInterstitial();
MainActivityFlavoredFragment.super.showJoke(mJoke);
}
@Override
public void onAdLoaded() {
super.onAdLoaded();
}
});
loadNextInterstitial();
}
private void loadNextInterstitial() {
mInterstitial.loadAd(AdRequestBuilder.getNewRequest());
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
RelativeLayout view = (RelativeLayout) super.onCreateView(inflater, container, savedInstanceState); RelativeLayout view = (RelativeLayout) super.onCreateView(inflater, container, savedInstanceState);
@@ -22,16 +53,21 @@ public class MainActivityFlavoredFragment extends MainActivityFragment {
} }
private void attachBannerAd(RelativeLayout rootView) { private void attachBannerAd(RelativeLayout rootView) {
// initialize the adview
AdView adView = (AdView) LayoutInflater.from(rootView.getContext()).inflate(R.layout.adview, rootView, false); AdView adView = (AdView) LayoutInflater.from(rootView.getContext()).inflate(R.layout.adview, rootView, false);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_HORIZONTAL); params.addRule(RelativeLayout.CENTER_HORIZONTAL);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
adView.setLayoutParams(params); adView.setLayoutParams(params);
rootView.addView(adView); rootView.addView(adView);
AdRequest adRequest = new AdRequest.Builder() adView.loadAd(AdRequestBuilder.getNewRequest());
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) }
.build();
adView.loadAd(adRequest); @Override
public void showJoke(Joke joke) {
mJoke = joke;
if(mInterstitial.isLoaded())
mInterstitial.show();
else
super.showJoke(joke);
} }
} }

View File

@@ -0,0 +1,14 @@
package com.udacity.gradle.builditbigger;
import com.google.android.gms.ads.AdRequest;
public class AdRequestBuilder {
public static AdRequest getNewRequest() {
return new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("AD770D74C4E2AF0FA36FBFD60844FC9E")
.build();
}
}

View File

@@ -43,7 +43,7 @@ public abstract class MainActivityFragment extends Fragment implements View.OnCl
* starts the async task to download and show a new joke * starts the async task to download and show a new joke
* cancels old downloads if theres already a running one * cancels old downloads if theres already a running one
*/ */
private void downloadNewJoke() { protected void downloadNewJoke() {
mJokeLoaderTask = new JokeLoaderTask(); mJokeLoaderTask = new JokeLoaderTask();
mJokeLoaderTask.execute(); mJokeLoaderTask.execute();
DownloadDialogFragment frag = new DownloadDialogFragment(); DownloadDialogFragment frag = new DownloadDialogFragment();
@@ -55,6 +55,10 @@ public abstract class MainActivityFragment extends Fragment implements View.OnCl
* @param joke Joke to show * @param joke Joke to show
*/ */
public void onEvent(Joke joke) { public void onEvent(Joke joke) {
showJoke(joke);
}
public void showJoke(Joke joke) {
Intent i = new Intent(getContext(), JokePresenterActivity.class); Intent i = new Intent(getContext(), JokePresenterActivity.class);
i.putExtra(JokePresenterActivity.BUNDLE_ARG_JOKE, joke.getJoke()); i.putExtra(JokePresenterActivity.BUNDLE_ARG_JOKE, joke.getJoke());
startActivity(i); startActivity(i);