Skip to content

Commit ce938eb

Browse files
Nicholas Ventimigliacopybara-github
authored andcommitted
Updated preloading code snippets.
PiperOrigin-RevId: 912652278
1 parent ccbd71a commit ce938eb

2 files changed

Lines changed: 292 additions & 8 deletions

File tree

java/NextGenExample/app/src/main/java/com/example/snippets/RewardedAdSnippets.java

Lines changed: 159 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,28 @@
1414

1515
package com.example.snippets;
1616

17+
import android.app.Activity;
18+
import android.util.Log;
19+
import androidx.annotation.NonNull;
1720
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
21+
import com.google.android.libraries.ads.mobile.sdk.common.AdValue;
22+
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
23+
import com.google.android.libraries.ads.mobile.sdk.common.PreloadCallback;
1824
import com.google.android.libraries.ads.mobile.sdk.common.PreloadConfiguration;
25+
import com.google.android.libraries.ads.mobile.sdk.common.ResponseInfo;
26+
import com.google.android.libraries.ads.mobile.sdk.rewarded.OnUserEarnedRewardListener;
27+
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardItem;
1928
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAd;
29+
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAdEventCallback;
2030
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAdPreloader;
31+
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
32+
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
2133

2234
/** Java code snippets for the developer guide. */
2335
public final class RewardedAdSnippets {
2436

37+
private static final String TAG = "RewardedAdSnippets";
38+
2539
// [START start_preload]
2640
private void startPreloading(String adUnitId) {
2741
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
@@ -31,10 +45,151 @@ private void startPreloading(String adUnitId) {
3145

3246
// [END start_preload]
3347

34-
private void pollAd(String adUnitId) {
35-
// [START poll_ad]
36-
// Polling returns the next available ad and loads another ad in the background.
48+
// [START set_buffer_size]
49+
private void setBufferSize(String adUnitId) {
50+
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
51+
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest, 3);
52+
RewardedAdPreloader.start(adUnitId, preloadConfig);
53+
}
54+
55+
// [END set_buffer_size]
56+
57+
// [START set_callback]
58+
private void startPreloadingWithCallback(String adUnitId) {
59+
PreloadCallback preloadCallback =
60+
new PreloadCallback() {
61+
@Override
62+
public void onAdFailedToPreload(String preloadId, LoadAdError adError) {
63+
Log.e(
64+
TAG,
65+
String.format(
66+
"Rewarded preload ad %s failed to load with error: %s",
67+
preloadId, adError.getMessage()));
68+
}
69+
70+
@Override
71+
public void onAdsExhausted(String preloadId) {
72+
Log.i(TAG, "Rewarded preload ad " + preloadId + " is not available");
73+
}
74+
75+
@Override
76+
public void onAdPreloaded(String preloadId, ResponseInfo responseInfo) {
77+
Log.i(TAG, "Rewarded preload ad " + preloadId + " is available");
78+
}
79+
};
80+
81+
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
82+
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
83+
RewardedAdPreloader.start(adUnitId, preloadConfig, preloadCallback);
84+
}
85+
86+
// [END set_callback]
87+
88+
// [START pollAndShowAd]
89+
private void pollAndShowAd(Activity activity, String adUnitId) {
3790
final RewardedAd ad = RewardedAdPreloader.pollAd(adUnitId);
38-
// [END poll_ad]
91+
if (ad != null) {
92+
ad.setAdEventCallback(
93+
new RewardedAdEventCallback() {
94+
@Override
95+
public void onAdImpression() {
96+
Log.d(TAG, "Rewarded ad recorded an impression.");
97+
}
98+
});
99+
100+
ad.show(
101+
activity,
102+
rewardItem -> {
103+
Log.d(TAG, "User earned reward: " + rewardItem.getAmount());
104+
});
105+
}
106+
}
107+
108+
// [END pollAndShowAd]
109+
110+
// [START isAdAvailable]
111+
private boolean isAdAvailable(String adUnitId) {
112+
return RewardedAdPreloader.isAdAvailable(adUnitId);
113+
}
114+
115+
// [END isAdAvailable]
116+
117+
// [START stop_preload]
118+
private void stopPreloading(String adUnitId) {
119+
// Stops the preloading and destroy preloaded ads.
120+
RewardedAdPreloader.destroy(adUnitId);
121+
// Stops the preloading and destroy all ads.
122+
RewardedAdPreloader.destroyAll();
123+
}
124+
125+
// [END stop_preload]
126+
127+
// [START set_event_callback]
128+
private void setEventCallback(RewardedAd rewardedAd) {
129+
// Listen for ad events.
130+
rewardedAd.setAdEventCallback(
131+
new RewardedAdEventCallback() {
132+
@Override
133+
public void onAdShowedFullScreenContent() {
134+
// Rewarded ad did show.
135+
RewardedAdEventCallback.super.onAdShowedFullScreenContent();
136+
}
137+
138+
@Override
139+
public void onAdDismissedFullScreenContent() {
140+
// Rewarded ad did dismiss.
141+
RewardedAdEventCallback.super.onAdDismissedFullScreenContent();
142+
}
143+
144+
@Override
145+
public void onAdFailedToShowFullScreenContent(
146+
FullScreenContentError fullScreenContentError) {
147+
// Rewarded ad failed to show.
148+
RewardedAdEventCallback.super.onAdFailedToShowFullScreenContent(fullScreenContentError);
149+
}
150+
151+
@Override
152+
public void onAdImpression() {
153+
// Rewarded ad did record an impression.
154+
RewardedAdEventCallback.super.onAdImpression();
155+
}
156+
157+
@Override
158+
public void onAdClicked() {
159+
// Rewarded ad did record a click.
160+
RewardedAdEventCallback.super.onAdClicked();
161+
}
162+
});
163+
}
164+
// [END set_event_callback]
165+
}
166+
167+
// [START single_load]
168+
class RewardedActivity extends Activity {
169+
// Sample rewarded ad unit ID.
170+
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/5224354917";
171+
private RewardedAd rewardedAd;
172+
173+
@Override
174+
protected void onCreate(Bundle savedInstanceState) {
175+
super.onCreate(savedInstanceState);
176+
177+
// Load ads after you initialize MobileAds.
178+
RewardedAd.load(
179+
new AdRequest.Builder(AD_UNIT_ID).build(),
180+
new AdLoadCallback<RewardedAd>() {
181+
@Override
182+
public void onAdLoaded(RewardedAd rewardedAd) {
183+
// Rewarded ad loaded.
184+
RewardedActivity.this.rewardedAd = rewardedAd;
185+
}
186+
187+
@Override
188+
public void onAdFailedToLoad(LoadAdError adError) {
189+
// Rewarded ad failed to load.
190+
rewardedAd = null;
191+
}
192+
});
39193
}
40194
}
195+
// [END single_load]

kotlin/NextGenExample/app/src/main/java/com/example/snippets/RewardedAdSnippets.kt

Lines changed: 133 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,18 @@
1414

1515
package com.example.snippets
1616

17+
import android.app.Activity
18+
import android.util.Log
19+
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
1720
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
21+
import com.google.android.libraries.ads.mobile.sdk.common.AdValue
22+
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
23+
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
24+
import com.google.android.libraries.ads.mobile.sdk.common.PreloadCallback
1825
import com.google.android.libraries.ads.mobile.sdk.common.PreloadConfiguration
26+
import com.google.android.libraries.ads.mobile.sdk.common.ResponseInfo
27+
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAd
28+
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAdEventCallback
1929
import com.google.android.libraries.ads.mobile.sdk.rewarded.RewardedAdPreloader
2030

2131
/** Kotlin code snippets for the developer guide. */
@@ -30,10 +40,129 @@ private class RewardedAdSnippets {
3040

3141
// [END start_preload]
3242

33-
private fun pollAd(adUnitId: String) {
34-
// [START poll_ad]
35-
// Polling returns the next available ad and loads another ad in the background.
43+
// [START set_buffer_size]
44+
private fun setBufferSize(adUnitId: String) {
45+
val adRequest = AdRequest.Builder(adUnitId).build()
46+
val preloadConfig = PreloadConfiguration(adRequest, bufferSize = 3)
47+
RewardedAdPreloader.start(adUnitId, preloadConfig)
48+
}
49+
50+
// [END set_buffer_size]
51+
52+
// [START set_callback]
53+
private fun startPreloadingWithCallback(adUnitId: String) {
54+
val preloadCallback =
55+
object : PreloadCallback {
56+
override fun onAdFailedToPreload(preloadId: String, adError: LoadAdError) {
57+
Log.i(TAG, "Rewarded preload ad $preloadId failed to load with error: ${adError.message}")
58+
}
59+
60+
override fun onAdsExhausted(preloadId: String) {
61+
Log.i(TAG, "Rewarded preload ad $preloadId is not available")
62+
}
63+
64+
override fun onAdPreloaded(preloadId: String, responseInfo: ResponseInfo) {
65+
Log.i(TAG, "Rewarded preload ad $preloadId is available")
66+
}
67+
}
68+
val adRequest = AdRequest.Builder(adUnitId).build()
69+
val preloadConfig = PreloadConfiguration(adRequest)
70+
RewardedAdPreloader.start(adUnitId, preloadConfig, preloadCallback)
71+
}
72+
73+
// [END set_callback]
74+
75+
// [START pollAndShowAd]
76+
private fun pollAndShowAd(activity: Activity, adUnitId: String) {
3677
val ad = RewardedAdPreloader.pollAd(adUnitId)
37-
// [END poll_ad]
78+
ad?.apply {
79+
this.adEventCallback =
80+
object : RewardedAdEventCallback {
81+
override fun onAdImpression() {
82+
Log.d(TAG, "Rewarded ad recorded an impression.")
83+
}
84+
}
85+
ad.show(activity) { rewardItem -> Log.d(TAG, "User earned reward: ${rewardItem.amount}") }
86+
}
87+
}
88+
89+
// [END pollAndShowAd]
90+
91+
// [START isAdAvailable]
92+
private fun isAdAvailable(adUnitId: String): Boolean {
93+
return RewardedAdPreloader.isAdAvailable(adUnitId)
94+
}
95+
96+
// [END isAdAvailable]
97+
98+
// [START stop_preload]
99+
private fun stopPreloading(adUnitId: String) {
100+
// Stops the preloading and destroy preloaded ads.
101+
RewardedAdPreloader.destroy(adUnitId)
102+
// Stops the preloading and destroy all ads.
103+
RewardedAdPreloader.destroyAll()
104+
}
105+
106+
// [END stop_preload]
107+
108+
// [START set_event_callback]
109+
private fun setEventCallback(rewardedAd: RewardedAd?) {
110+
// Listen for ad events.
111+
rewardedAd?.adEventCallback =
112+
object : RewardedAdEventCallback {
113+
override fun onAdShowedFullScreenContent() {
114+
// Rewarded ad did show.
115+
}
116+
117+
override fun onAdDismissedFullScreenContent() {
118+
// Rewarded ad did dismiss.
119+
}
120+
121+
override fun onAdFailedToShowFullScreenContent(
122+
fullScreenContentError: FullScreenContentError
123+
) {
124+
// Rewarded ad failed to show.
125+
}
126+
127+
override fun onAdImpression() {
128+
// Rewarded ad did record an impression.
129+
}
130+
131+
override fun onAdClicked() {
132+
// Rewarded ad did record a click.
133+
}
134+
}
135+
}
136+
// [END set_event_callback]
137+
}
138+
139+
// [START single_load]
140+
class RewardedActivity : Activity() {
141+
private var rewardedAd: RewardedAd? = null
142+
143+
override fun onCreate(savedInstanceState: Bundle?) {
144+
super.onCreate(savedInstanceState)
145+
146+
// Load ads after you initialize MobileAds.
147+
RewardedAd.load(
148+
AdRequest.Builder(AD_UNIT_ID).build(),
149+
object : AdLoadCallback<RewardedAd> {
150+
override fun onAdLoaded(ad: RewardedAd) {
151+
// Rewarded ad loaded.
152+
rewardedAd = ad
153+
}
154+
155+
override fun onAdFailedToLoad(adError: LoadAdError) {
156+
// Rewarded ad failed to load.
157+
rewardedAd = null
158+
}
159+
},
160+
)
161+
}
162+
163+
companion object {
164+
// Sample rewarded ad unit ID.
165+
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/5224354917"
38166
}
39167
}
168+
// [END single_load]

0 commit comments

Comments
 (0)