GMA নেক্সট-জেন SDK-তে মাইগ্রেট করা

এই পৃষ্ঠায় GMA Next-Gen SDK শুরু করার নির্দেশাবলী রয়েছে।

শুরু করার আগে

এই গাইডটি সেইসব প্রকাশক এবং থার্ড-পার্টি প্ল্যাটফর্মের জন্য যারা সরাসরি GMA Next-Gen SDK ইন্টিগ্রেট করে।

আপনি যদি থার্ড-পার্টি মিডিয়েশন প্ল্যাটফর্মের মাধ্যমে AdMob-এর সাথে কানেক্ট করেন, যা পার্টনার বিডিংকে সমর্থন করে, তাহলে GMA Next-Gen SDK-এর সাথে সেই প্ল্যাটফর্মের মানানসই হওয়ার বিষয়টি কনফার্ম করতে নিম্নলিখিত টেবিলটি চেক করুন।

মধ্যস্থতা প্ল্যাটফর্ম GMA Next-Gen SDK-এর সাথে মানানসই
AdMost
AppLovin MAX
Chartboost Mediation
DT Fairbid
Gravite
Nimbus
TopOn
TradPlus VisiM
Unity LevelPlay

আপনি যদি এমন কোনও মিডিয়েশন প্ল্যাটফর্ম ব্যবহার করতে চান যা 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 (Legacy) ডিপেন্ডেন্সির রেফারেন্স সরিয়ে দিন এবং নতুন আর্টিফ্যাক্ট যোগ করুন।

Gradle ডিপেন্ডেন্সি
Google Mobile Ads SDK (Legacy)

Kotlin

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

Groovy

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

Kotlin

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

Groovy

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

মধ্যস্থতা ইন্টিগ্রেশনে com.google.android.gms মডিউল বাদ দিন

মধ্যস্থতা অ্যাডাপ্টার Google Mobile Ads SDK (Legacy)-এর উপর নির্ভর করা চালিয়ে যায়। তবে, GMA Next-Gen SDK-এ মধ্যস্থতা অ্যাডাপ্টারের জন্য প্রয়োজনীয় সব ক্লাস অন্তর্ভুক্ত থাকে। ডুপ্লিকেট সিম্বল সংক্রান্ত কম্পাইল এরর এড়াতে, আপনাকে Google Mobile Ads SDK (Legacy)-কে মধ্যস্থতা অ্যাডাপ্টারের মাধ্যমে ডিপেন্ডেন্সি হিসেবে পুল করা থেকে বাদ দিতে হবে।

আপনার অ্যাপ-লেভেল বিল্ড ফাইলে, সব ডিপেন্ডেন্সি থেকে গ্লোবালি 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")
}

Groovy

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

Android API লেভেলের ন্যূনতম লেভেল সেট ও কম্পাইল করা

GMA Next-Gen SDK-এর জন্য ন্যূনতম Android API লেভেল ২৪ এবং কম্পাইল Android API লেভেল ৩৪ প্রয়োজন। আপনার অ্যাপ-লেভেল বিল্ড ফাইলে minSdk এবং compileSdk-এর ভ্যালু যথাক্রমে ২৪ বা তার বেশি এবং ৩৪ বা তার বেশি হিসেবে অ্যাডজাস্ট করুন।

GMA Next-Gen SDK শুরু করুন

GMA Next-Gen SDK-এ বিজ্ঞাপন লোড করার আগে ইনিশিয়ালাইজেশন করতে হয়, যা Google Mobile Ads SDK (Legacy)-এর থেকে আলাদা, যেখানে ইনিশিয়ালাইজেশন ঐচ্ছিক হলেও তা করার সাজেশন দেওয়া হয়। আপনি যদি আগে বিজ্ঞাপন লোড করার আগে SDK শুরু না করে থাকেন, তাহলে আপনার কোড আপডেট করুন।

এই বিভাগে Google Mobile Ads SDK (Legacy) এবং GMA Next-Gen SDK-এর মধ্যে SDK ইনিশিয়ালাইজেশন প্রয়োগের পার্থক্য কভার করা হয়েছে।

AdMob অ্যাপ আইডি সেট করুন

নিম্নলিখিত উদাহরণগুলি Google Mobile Ads SDK (Legacy) এবং GMA Next-Gen SDK-এ AdMob অ্যাপ আইডি সেট করে:

Google Mobile Ads SDK (Legacy)

ইন্টিগ্রেশনের জন্য আপনার অ্যাপের AndroidManifest.xml ফাইলের মধ্যে আপনার AdMob অ্যাপ আইডি সহ android:name="com.google.android.gms.ads.APPLICATION_ID" সহ <meta-data> ট্যাগ প্রয়োজন।

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

প্রয়োগ করা সম্পর্কিত পরিবর্তন পর্যালোচনা করুন

নিম্নলিখিত উদাহরণগুলি Google Mobile Ads SDK (Legacy) এবং GMA Next-Gen SDK শুরু করে:

Google Mobile Ads SDK (Legacy)

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() কল করুন। এটি ব্যাকগ্রাউন্ড থ্রেডে কল করতে হবে, তা না করলে "অ্যাপ্লিকেশন সাড়া দিচ্ছে না" (ANR) সমস্যা হতে পারে।

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.
      }
      // 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 AdMob 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();
  }
}