1414
1515package com .example .snippets ;
1616
17+ import android .app .Activity ;
18+ import android .util .Log ;
19+ import androidx .annotation .NonNull ;
1720import 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 ;
1824import 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 ;
1928import com .google .android .libraries .ads .mobile .sdk .rewarded .RewardedAd ;
29+ import com .google .android .libraries .ads .mobile .sdk .rewarded .RewardedAdEventCallback ;
2030import 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. */
2335public 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]
0 commit comments