GMA নেক্সট-জেন 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 জন্য একটি ভিন্ন গ্রেডল ডিপেন্ডেন্সি প্রয়োজন। আপনার অ্যাপ-লেভেল বিল্ড ফাইল থেকে Google Mobile Ads SDK ডিপেন্ডেন্সির রেফারেন্সটি সরিয়ে দিন এবং নতুন আর্টিফ্যাক্টটি অন্তর্ভুক্ত করুন।

গ্রেডল নির্ভরতা
Google Mobile Ads SDK

কোটলিন

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

গ্রুভি

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

কোটলিন

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 অন্তর্ভুক্ত হওয়া থেকে বাদ দিতে হবে।

আপনার অ্যাপ-স্তরের বিল্ড ফাইলে, play-services-ads এবং 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")
}

গ্রুভি

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

অ্যান্ড্রয়েড এপিআই স্তরগুলির সর্বনিম্ন মান নির্ধারণ করুন এবং কম্পাইল করুন

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

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

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

এই অংশে Google Mobile Ads SDK এবং GMA Next-Gen SDK মধ্যে এসডিকে ইনিশিয়ালাইজেশন বাস্তবায়নের পার্থক্যগুলো আলোচনা করা হয়েছে।

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

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

Google Mobile Ads SDK

ইন্টিগ্রেশনের জন্য আপনার অ্যাপের 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 অ্যাপ আইডি প্রদান করুন।

কোটলিন

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

জাভা

// 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 কমাতে ব্যাকগ্রাউন্ড থ্রেডে ইনিশিয়ালাইজেশন করার পরামর্শ দেওয়া হয়।

কোটলিন

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

জাভা

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) ত্রুটি দেখা দিতে পারে।

কোটলিন

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.
    }
  }
}

জাভা

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