SDK टूल को शुरू करना

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

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

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

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

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

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

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

Gradle डिपेंडेंसी
मौजूदा

Kotlin

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

ग्रूवी

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

Kotlin

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

ग्रूवी

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

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

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

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

Kotlin

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

ग्रूवी

configurations {
  all {
    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 टूल में, विज्ञापन लोड करने से पहले उसे शुरू करना ज़रूरी है. यह मौजूदा Mobile Ads SDK टूल से अलग है. मौजूदा Mobile Ads SDK टूल में, इसे शुरू करना ज़रूरी नहीं है, लेकिन ऐसा करने का सुझाव दिया जाता है. अगर आपने पहले विज्ञापन लोड करने से पहले एसडीके को शुरू नहीं किया था, तो अपना कोड अपडेट करें.

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

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

यहां दिए गए उदाहरणों में, मौजूदा और GMA Next Gen SDK में AdMob ऐप्लिकेशन आईडी सेट किया गया है:

मौजूदा

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

<manifest>
  <application>
    <!-- Sample AdMob 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 टूल को शुरू करते समय, AdMob ऐप्लिकेशन आईडी को प्रोग्राम के हिसाब से इस तरह दें.

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 -> {});

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

यहां दिए गए उदाहरणों में, मौजूदा और GMA Next Gen 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 AdMob app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

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 AdMob app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}