From 5b92f73e06f99f0ee0b31261d29b821660cfab0d Mon Sep 17 00:00:00 2001 From: Nicholas Ventimiglia Date: Mon, 19 May 2025 10:31:33 -0700 Subject: [PATCH] Internal changes. PiperOrigin-RevId: 760680382 --- .../AdMobPreloadingAdsFragment.java | 56 ++++++++++--------- .../preloading/AdMobPreloadingAdsFragment.kt | 51 +++++++++-------- 2 files changed, 56 insertions(+), 51 deletions(-) diff --git a/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.java b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.java index 6dfbe2f3e..467703eec 100644 --- a/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.java +++ b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.java @@ -41,7 +41,7 @@ public class AdMobPreloadingAdsFragment extends PreloadItemFragment { @Override public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + @NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout. FragmentPreloadItemBinding viewBinding = FragmentPreloadItemBinding.inflate(getLayoutInflater()); @@ -57,44 +57,50 @@ public View onCreateView( // [START start_preload] private void startPreload() { - // Define the number of ads that can be preloaded for each ad unit. - int bufferSize = 2; - // Define a list of PreloadConfiguration objects, specifying the ad unit ID and ad format for - // each ad unit to be preloaded. + // Define a list of PreloadConfiguration objects, specifying the ad unit ID and ad format. List preloadConfigs = Arrays.asList( new PreloadConfiguration.Builder(InterstitialFragment.AD_UNIT_ID, AdFormat.INTERSTITIAL) - .setBufferSize(bufferSize) .build(), new PreloadConfiguration.Builder(RewardedFragment.AD_UNIT_ID, AdFormat.REWARDED) - .setBufferSize(bufferSize) .build(), new PreloadConfiguration.Builder(AppOpenFragment.AD_UNIT_ID, AdFormat.APP_OPEN_AD) - .setBufferSize(bufferSize) .build()); - // Define a callback to receive preload availability events. - PreloadCallback callback = - new PreloadCallback() { - @Override - public void onAdsAvailable(@NonNull PreloadConfiguration preloadConfig) { - Log.i(LOG_TAG, "Preload ad for " + preloadConfig.getAdFormat() + " is available."); - updateUI(); - } - - @Override - public void onAdsExhausted(@NonNull PreloadConfiguration preloadConfig) { - Log.i(LOG_TAG, "Preload ad for " + preloadConfig.getAdFormat() + " is exhausted."); - updateUI(); - } - }; - // Start the preloading initialization process. - MobileAds.startPreload(this.requireContext(), preloadConfigs, callback); + // Be sure to pass an Activity context when calling startPreload() if you use mediation, as + // some mediation partners require an Activity context to load ads. + // Optional : Define a callback to receive preload availability events. + MobileAds.startPreload(this.requireContext(), preloadConfigs, getPreloadCallback()); } // [END start_preload] + // [START set_callback] + private PreloadCallback getPreloadCallback() { + // Define a callback to receive preload availability events. + return new PreloadCallback() { + @Override + public void onAdsAvailable(@NonNull PreloadConfiguration preloadConfig) { + Log.i( + LOG_TAG, + "Preload ad for configuration " + preloadConfig.getAdFormat() + " is available."); + // [START_EXCLUDE] + updateUI(); + // [END_EXCLUDE] + } + + @Override + public void onAdsExhausted(@NonNull PreloadConfiguration preloadConfig) { + Log.i( + LOG_TAG, + "Preload ad for configuration " + preloadConfig.getAdFormat() + " is exhausted."); + } + }; + } + + // [END set_callback] + private void addFragmentsUI() { addFragmentUI(new AppOpenFragment()); addFragmentUI(new InterstitialFragment()); diff --git a/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.kt b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.kt index a54bdd79a..366dfe240 100644 --- a/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.kt +++ b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/example/apidemo/preloading/AdMobPreloadingAdsFragment.kt @@ -53,43 +53,42 @@ class AdMobPreloadingAdsFragment : Fragment() { // [START start_preload] private fun startPreload() { - // Define the number of ads that can be preloaded for each ad unit. - val bufferSize = 2 - // Define a list of PreloadConfiguration objects, specifying the ad unit ID and ad format for - // each ad unit to be preloaded. + // Define a list of PreloadConfiguration objects, specifying the ad unit ID and ad format. val preloadConfigs = listOf( PreloadConfiguration.Builder(InterstitialFragment.AD_UNIT_ID, AdFormat.INTERSTITIAL) - .setBufferSize(bufferSize) - .build(), - PreloadConfiguration.Builder(RewardedFragment.AD_UNIT_ID, AdFormat.REWARDED) - .setBufferSize(bufferSize) - .build(), - PreloadConfiguration.Builder(AppOpenFragment.AD_UNIT_ID, AdFormat.APP_OPEN_AD) - .setBufferSize(bufferSize) .build(), + PreloadConfiguration.Builder(RewardedFragment.AD_UNIT_ID, AdFormat.REWARDED).build(), + PreloadConfiguration.Builder(AppOpenFragment.AD_UNIT_ID, AdFormat.APP_OPEN_AD).build(), ) - // Define a callback to receive preload availability events. - val callback = - object : PreloadCallback { - override fun onAdsAvailable(preloadConfig: PreloadConfiguration) { - Log.i(LOG_TAG, "Preload ad for ${ preloadConfig.adFormat } is available.") - updateUI() - } - - override fun onAdsExhausted(preloadConfig: PreloadConfiguration) { - Log.i(LOG_TAG, "Preload ad for configuration ${ preloadConfig.adFormat } is exhausted.") - updateUI() - } - } - // Start the preloading initialization process. - MobileAds.startPreload(this.requireContext(), preloadConfigs, callback) + // Be sure to pass an Activity context when calling startPreload() if you use mediation, as + // some mediation partners require an Activity context to load ads. + // Optional : Define a callback to receive preload availability events. + MobileAds.startPreload(this.requireContext(), preloadConfigs, getPreloadCallback()) } // [END start_preload] + // [START set_callback] + private fun getPreloadCallback(): PreloadCallback { + return object : PreloadCallback { + override fun onAdsAvailable(preloadConfig: PreloadConfiguration) { + Log.i(LOG_TAG, "Preload ad for configuration ${preloadConfig.adFormat} is available.") + // [START_EXCLUDE] + updateUI() + // [END_EXCLUDE] + } + + override fun onAdsExhausted(preloadConfig: PreloadConfiguration) { + Log.i(LOG_TAG, "Preload ad for configuration ${preloadConfig.adFormat} is exhausted.") + } + } + } + + // [END set_callback] + private fun addFragments() { addFragment(AppOpenFragment()) addFragment(InterstitialFragment())