GMA Next-Gen SDK को सेटअप करना

इस पेज पर, GMA Next-Gen SDK को शुरू करने के निर्देश दिए गए हैं.

शुरू करने से पहले

GMA Next-Gen SDK का इस्तेमाल करने के लिए, आपको मीडिएशन के बिना इंटिग्रेट करना होगा या Ad Manager को मीडिएशन प्लैटफ़ॉर्म के तौर पर इस्तेमाल करना होगा. अन्य मीडिएशन प्लैटफ़ॉर्म, GMA Next-Gen SDK के साथ काम नहीं करते.

GMA Next-Gen SDK के लिए अपना बिल्ड कॉन्फ़िगर करना

यहां दिए गए सेक्शन में, GMA Next-Gen SDK को कॉन्फ़िगर करने का तरीका बताया गया है.

GMA Next-Gen SDK डिपेंडेंसी शामिल करें

GMA Next-Gen SDK के लिए, Gradle की किसी दूसरी डिपेंडेंसी की ज़रूरत होती है. अपने ऐप्लिकेशन-लेवल की बिल्ड फ़ाइल में, Google Mobile Ads SDK डिपेंडेंसी का रेफ़रंस हटाएं और नया आर्टफ़ैक्ट शामिल करें.

Gradle डिपेंडेंसी
Google Mobile Ads SDK

Kotlin

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:25.3.0")
}

Groovy

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:25.3.0'
}
GMA Next-Gen SDK

Kotlin

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation("com.google.android.gms:play-services-ads:25.3.0")
  implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.1.1")
}

ग्रूवी

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation 'com.google.android.gms:play-services-ads:25.3.0'
  implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.1.1'
}

मीडिएशन इंटिग्रेशन में com.google.android.gms मॉड्यूल शामिल न करें

मीडिएशन अडैप्टर, Google Mobile Ads SDK पर निर्भर रहते हैं. हालांकि, GMA Next-Gen SDK में, मीडिएशन अडैप्टर के लिए ज़रूरी सभी क्लास शामिल होती हैं. डुप्लीकेट सिंबल से जुड़ी कंपाइल गड़बड़ियों से बचने के लिए, आपको मीडिएशन अडैप्टर को Google Mobile Ads SDK को डिपेंडेंसी के तौर पर इस्तेमाल करने से रोकना होगा.

ऐप्लिकेशन-लेवल की build फ़ाइल में, play-services-ads और play-services-ads-lite, दोनों मॉड्यूल को सभी डिपेंडेंसी से ग्लोबल तौर पर हटाएं.

Kotlin

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

ग्रूवी

configurations.configureEach {
    exclude group: "com.google.android.gms", module: "play-services-ads"
    exclude group: "com.google.android.gms", module: "play-services-ads-lite"
}

Android के कम से कम और कंपाइल किए गए एपीआई लेवल सेट करना

GMA Next-Gen SDK के लिए, कम से कम Android एपीआई लेवल 24 और कंपाइल Android एपीआई लेवल 34 होना ज़रूरी है. अपने ऐप्लिकेशन-लेवल की बिल्ड फ़ाइल में, minSdk और compileSdk की वैल्यू को क्रमशः 24 या इससे ज़्यादा और 34 या इससे ज़्यादा पर सेट करें.

GMA Next-Gen SDK शुरू करना

GMA Next-Gen SDK को विज्ञापनों को लोड करने से पहले शुरू करना ज़रूरी है. यह Google Mobile Ads SDK से अलग है, जहां शुरू करना ज़रूरी नहीं है, लेकिन ऐसा करने का सुझाव दिया जाता है. अगर आपने पहले विज्ञापनों को लोड करने से पहले SDK टूल को शुरू नहीं किया था, तो अपने कोड को अपडेट करें.

इस सेक्शन में, Google Mobile Ads SDK और GMA Next-Gen SDK के बीच एसडीके को शुरू करने के तरीके में अंतर के बारे में बताया गया है.

Ad Manager ऐप्लिकेशन आईडी सेट करना

यहां दिए गए उदाहरणों में, Google Mobile Ads SDK और GMA Next-Gen SDK में Ad Manager ऐप्लिकेशन का आईडी सेट किया गया है:

Google Mobile Ads SDK

इंटिग्रेशन के लिए, <meta-data> टैग की ज़रूरत होती है. इसमें android:name="com.google.android.gms.ads.APPLICATION_ID" टैग होना चाहिए. साथ ही, आपके ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में Ad Manager ऐप्लिकेशन आईडी होना चाहिए.

<manifest>
  <application>
    <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="SAMPLE_APP_ID"/>
  </application>
</manifest>
GMA Next-Gen SDK

SDK टूल को शुरू करते समय, Ad Manager ऐप्लिकेशन आईडी को प्रोग्राम के हिसाब से उपलब्ध कराएं.

Kotlin

// Initialize the Google Mobile Ads SDK.
val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build()
MobileAds.initialize(this@MainActivity, initConfig) {}

Java

// Initialize GMA Next-Gen SDK.
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

लागू करने से जुड़े बदलावों की समीक्षा करना

यहां दिए गए उदाहरणों में, Google Mobile Ads SDK और GMA Next-Gen SDK को शुरू करने का तरीका बताया गया है:

Google Mobile Ads SDK

Google Mobile Ads SDK को शुरू करने के लिए, MobileAds.initialize() को कॉल करें. हमारा सुझाव है कि ANR की गड़बड़ियों को कम करने के लिए, बैकग्राउंड थ्रेड पर शुरू करें.

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) {}
    }
  }
}

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize the Google Mobile Ads SDK on a background thread.
              MobileAds.initialize(this, initializationStatus -> {});
            })
        .start();
  }
}
GMA Next-Gen SDK

GMA Next-Gen SDK को शुरू करने के लिए, MobileAds.initialize() को कॉल करें. इसे बैकग्राउंड थ्रेड पर कॉल किया जाना चाहिए. ऐसा न करने पर, "ऐप्लिकेशन काम नहीं कर रहा है" (एएनआर) गड़बड़ी हो सकती है.

Kotlin

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // SDK initialization is complete. If you don't want to wait for bidding adapters to finish
      // initializing, start loading ads now.
    }
  }
}

Java

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize GMA Next-Gen SDK on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // SDK initialization is complete. If you don't want to wait for bidding adapters to
              // finish initializing, start loading ads now.
            })
        .start();
  }
}