SDK আরম্ভ করুন

এই পৃষ্ঠায় GMA নেক্সট জেন SDK আরম্ভ করার নির্দেশাবলী অন্তর্ভুক্ত রয়েছে।

শুরু করার আগে

GMA Next Gen SDK ব্যবহার করার জন্য, আপনাকে হয় মধ্যস্থতা ছাড়াই ইন্টিগ্রেট করতে হবে অথবা মধ্যস্থতা প্ল্যাটফর্ম হিসেবে AdMob ব্যবহার করতে হবে। অন্যান্য মধ্যস্থতা প্ল্যাটফর্মগুলি GMA Next Gen SDK-এর সাথে সামঞ্জস্যপূর্ণ নয়।

GMA Next Gen SDK-এর জন্য আপনার বিল্ড কনফিগার করুন

নিম্নলিখিত বিভাগগুলি আপনাকে GMA নেক্সট জেন SDK কনফিগার করার জন্য প্রয়োজনীয় পদক্ষেপগুলি দেখাবে।

GMA নেক্সট জেনারেশন SDK নির্ভরতা অন্তর্ভুক্ত করুন

GMA Next Gen SDK-এর জন্য আলাদা Gradle নির্ভরতা প্রয়োজন। আপনার অ্যাপ-লেভেল বিল্ড ফাইল থেকে, বর্তমান মোবাইল বিজ্ঞাপন SDK নির্ভরতার রেফারেন্সটি সরিয়ে নতুন আর্টিফ্যাক্টটি অন্তর্ভুক্ত করুন।

গ্রেডেল নির্ভরতা
বর্তমান

কোটলিন

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 নেক্সট জেনারেশন SDK

কোটলিন

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 মডিউল বাদ দিন

মেডিয়েশন অ্যাডাপ্টারগুলি বর্তমান মোবাইল বিজ্ঞাপন SDK-এর উপর নির্ভরশীল। তবে, GMA নেক্সট জেনারেশন SDK-তে মেডিয়েশন অ্যাডাপ্টারের জন্য প্রয়োজনীয় সকল ক্লাস অন্তর্ভুক্ত থাকে। ডুপ্লিকেট প্রতীক সম্পর্কিত কম্পাইল ত্রুটি এড়াতে, আপনাকে মেডিয়েশন অ্যাডাপ্টার দ্বারা নির্ভরতা হিসেবে বর্তমান মোবাইল বিজ্ঞাপন SDK-কে বাদ দিতে হবে।

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

খাঁজকাটা

configurations {
  all {
    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-এর জন্য ন্যূনতম Android API লেভেল 24 এবং compile Android API লেভেল 34 প্রয়োজন। আপনার অ্যাপ-লেভেল বিল্ড ফাইলে minSdk এবং compileSdk মান যথাক্রমে 24 বা তার বেশি এবং 34 বা তার বেশিতে সামঞ্জস্য করুন।

GMA নেক্সট জেনারেশন SDK আরম্ভ করুন

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

এই বিভাগে বর্তমান এবং GMA নেক্সট জেন SDK-এর মধ্যে SDK ইনিশিয়ালাইজেশন বাস্তবায়নের পার্থক্যগুলি অন্তর্ভুক্ত করা হয়েছে।

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

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

বর্তমান

ইন্টিগ্রেশনের জন্য আপনার অ্যাপের 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 নেক্সট জেনারেশন 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 -> {});

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

নিম্নলিখিত উদাহরণগুলি বর্তমান এবং GMA নেক্সট জেনারেশন SDK আরম্ভ করে:

বর্তমান

Google মোবাইল বিজ্ঞাপন 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 নেক্সট জেনারেশন SDK

GMA নেক্সট জেনারেশন 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.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

জাভা

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