बैनर विज्ञापनों को माइग्रेट करना

इस पेज पर, मौजूदा SDK और GMA Next-Gen SDK के बीच, बैनर विज्ञापन लोड करने और दिखाने के तरीके में अंतर के बारे में बताया गया है.

AdView के साथ व्यू हैरारकी के बारे में यहां बताया गया है:

<com.google.android.libraries.ads.mobile.sdk.banner.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />
मौजूदा

बैनर विज्ञापन लोड करने के लिए:

  1. AdView ऑब्जेक्ट बनाएं. इसमें विज्ञापन यूनिट आईडी और साइज़ शामिल करें.
  2. AdView को व्यू हैरारकी में जोड़ें.
  3. विज्ञापन लोड करें.

Kotlin

import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

  private lateinit var binding: ActivityMainBinding
  private lateinit var adView: AdView

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    // Step 1 - Create an AdView object with ad unit ID and size.
    adView = AdView(this)
    adView.adUnitId = "AD_UNIT_ID"
    adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 320))
    // Step 2 - Add the AdView to view hierarchy.
    binding.bannerViewContainer.addView(adView)

    // Step 3 - Load the ad.
    val adRequest = AdRequest.Builder().build()
    adView.loadAd(adRequest)
  }
}

Java

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {

  private ActivityMainBinding binding;
  private AdView adView;

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());

    // Step 1 - Create an AdView object with ad unit ID and size.
    adView = new AdView(this);
    adView.setAdUnitId("AD_UNIT_ID");
    adView.setAdSize(AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 320));

    // Step 2 - Add the AdView to view hierarchy.
    binding.bannerViewContainer.addView(adView);

    // Step 3 - Load the ad.
    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);
  }
}
GMA Next-Gen SDK

बैनर विज्ञापन लोड करने के लिए:

  1. AdView ऑब्जेक्ट बनाएं.
  2. विज्ञापन लोड करें.

Kotlin

import android.util.Log
import com.google.android.libraries.ads.mobile.sdk.banner.AdSize
import com.google.android.libraries.ads.mobile.sdk.banner.AdView
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAd
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAdRequest
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError

class MainActivity : AppCompatActivity() {

  private val TAG = "MainActivity"
  private lateinit var adView: AdView
  private lateinit var binding: ActivityMainBinding

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

    // Step 1 - Create an AdView object.
    adView = binding.adView

    // Step 2 - Load the ad.
    val adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360)
    val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build()
    adView.loadAd(
      adRequest,
      object : AdLoadCallback<BannerAd> {
        override fun onAdLoaded(ad: BannerAd) {
          ad.adEventCallback =
            object : BannerAdEventCallback {
              override fun onAdImpression() {
                Log.d(TAG, "Banner ad recorded an impression.")
              }

              override fun onAdClicked() {
                Log.d(TAG, "Banner ad clicked.")
              }
            }
        }

        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.e(TAG, "Banner ad failed to load: $adError")
        }
      },
    )
  }
}

Java

import android.util.Log;
import com.google.android.libraries.ads.mobile.sdk.banner.AdSize;
import com.google.android.libraries.ads.mobile.sdk.banner.AdView;
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAd;
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.banner.BannerAdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;

public class MainActivity extends AppCompatActivity {

  private static final String TAG = "MainActivity";
  private AdView adView;
  private ActivityMainBinding binding;

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());

    // Step 1 - Create an AdView object.
    adView = binding.adView;

    // Step 2 - Load the ad.
    AdSize adSize = AdSize.getLargeAnchoredAdaptiveBannerAdSize(this, 360);
    BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID", adSize).build();
    adView.loadAd(
        adRequest,
        new AdLoadCallback<BannerAd>() {
          @Override
          public void onAdLoaded(@NonNull BannerAd ad) {
            ad.setAdEventCallback(
                new BannerAdEventCallback() {
                  @Override
                  public void onAdImpression() {
                    Log.d(TAG, "Banner ad recorded an impression.");
                  }

                  @Override
                  public void onAdClicked() {
                    Log.d(TAG, "Banner ad clicked.");
                  }
                });
          }

          @Override
          public void onAdFailedToLoad(@NonNull LoadAdError adError) {
            Log.e(TAG, "Banner ad failed to load: " + adError);
          }
        });
  }
}

GMA Next-Gen SDK में, बैनर विज्ञापन के अपने-आप रीफ़्रेश होने की सुविधा के लिए एक लिसनर शामिल है:

मौजूदा

Mobile Ads SDK, विज्ञापन के रीफ़्रेश होने की प्रोसेस के सफल या असफल होने की जानकारी देने के लिए, onAdLoaded() और onAdFailedToLoad() कॉलबैक को कॉल करता है.

Kotlin

adView.adListener = object : AdListener() {
    override fun onAdLoaded() {
      // Called when an ad has loaded.
    }

    override fun onAdFailedToLoad(adError : LoadAdError) {
      // Called when ad fails to load.
    }
}

Java

adView.setAdListener(
    new AdListener() {
      @Override
      public void onAdLoaded() {
        // Called when an ad has loaded.
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError adError) {
        // Called when ad fails to load.
      }
    });
GMA Next-Gen SDK

विज्ञापन के रीफ़्रेश होने की इवेंट सुनने के लिए, लोड किए गए बैनर विज्ञापन पर रीफ़्रेश कॉलबैक सेट करें.

Kotlin

adView.loadAd(
  BannerAdRequest.Builder("AD_UNIT_ID", adSize).build(),
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      // Called when an ad has loaded.
      ad.adEventCallback =
        object : BannerAdEventCallback {}

      ad.bannerAdRefreshCallback =
        object : BannerAdRefreshCallback {
          // Set the ad refresh callbacks.
          override fun onAdRefreshed() {
            // Called when the ad refreshes.
          }

          override fun onAdFailedToRefresh(adError: LoadAdError) {
            // Called when the ad fails to refresh.
          }
        }
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      // Called when ad fails to load.
    }
  }
)

Java

adView.loadAd(
    new BannerAdRequest.Builder("AD_UNIT_ID", adSize).build(),
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        // Called when an ad has loaded.
        ad.setAdEventCallback(new BannerAdEventCallback() {});

        ad.setBannerAdRefreshCallback(
            // Set the ad refresh callbacks.
            new BannerAdRefreshCallback() {
              @Override
              public void onAdRefreshed() {
                // Called when the ad refreshes.
              }

              @Override
              public void onAdFailedToRefresh(@NonNull LoadAdError adError) {
                // Called when the ad fails to refresh.
              }
            });
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError adError) {
        // Called when ad fails to load.
      }
    });