নেটিভ বিজ্ঞাপন লোড করা

প্ল্যাটফর্ম বেছে নিন: Android iOS Flutter Unity Android (Legacy)

নেটিভ বিজ্ঞাপন হল এমন বিজ্ঞাপন অ্যাসেট যা ব্যবহারকারীদের প্ল্যাটফর্মের নেটিভ UI কম্পোনেন্টের মাধ্যমে দেখানো হয়। আপনি যে ধরনের ভিউ ব্যবহার করে লেআউট তৈরি করেন, সেই একই ধরনের ভিউ ব্যবহার করে এগুলি দেখানো হয় এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে ম্যাচ করার জন্য ফর্ম্যাট করা যেতে পারে।

নেটিভ বিজ্ঞাপন লোড হলে, আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যাতে অ্যাসেট থাকে, এবং অ্যাপ—GMA Next-Gen SDK-এর পরিবর্তে—সেগুলি দেখানোর জন্য দায়ী থাকে।

সাধারণভাবে বলতে গেলে, নেটিভ বিজ্ঞাপন সফলভাবে প্রয়োগ করার দুটি অংশ আছে: SDK ব্যবহার করে বিজ্ঞাপন লোড করা এবং তারপর আপনার অ্যাপে বিজ্ঞাপনের কন্টেন্ট দেখানো।

এই পৃষ্ঠায় দেখানো হয়েছে যে কীভাবে SDK ব্যবহার করে নেটিভ বিজ্ঞাপন লোড করতে হয়। পরামর্শ: আমাদের নেটিভ বিজ্ঞাপন প্লেবুক থেকে নেটিভ বিজ্ঞাপন সম্পর্কে আরও জানুন।

Java এবং Kotlin-এর জন্য স্যাম্পেল উপলভ্য।

এছাড়াও, আপনি কিছু গ্রাহকের সাফল্যের গল্প দেখতে পারেন: কেস স্টাডি ১, কেস স্টাডি ২।

পূর্বশর্ত

সবসময় টেস্ট বিজ্ঞাপন দিয়ে পরীক্ষা করুন

আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করতে ভুলবেন না। এটি না করলে আপনার অ্যাকাউন্ট সাসপেন্ড করা হতে পারে।

নেটিভ বিজ্ঞাপনের জন্য আমাদের ডেডিকেটেড টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা হল টেস্ট বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায়:

বিজ্ঞাপনের ফর্ম্যাট স্যাম্পেল বিজ্ঞাপন ইউনিট আইডি
নেটিভ ca-app-pub-3940256099942544/2247696110
নেটিভ ভিডিও ca-app-pub-3940256099942544/1044960115

বিজ্ঞাপন লোড করুন

নেটিভ বিজ্ঞাপন লোড করতে, NativeAdLoader.load() মেথড কল করুন, যা NativeAdRequest এবং NativeAdLoaderCallback নেয়।

import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest

class NativeFragment : Fragment() {

  private var nativeAd: NativeAd? = null

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadAd()
  }

  private fun loadAd() {
    // Build an ad request with native ad options to customize the ad.
    val adRequest = NativeAdRequest
      .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
      .build()

    val adCallback =
      object : NativeAdLoaderCallback {
        override fun onNativeAdLoaded(nativeAd: NativeAd) {
          // Called when a native ad has loaded.
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Called when a native ad has failed to load.
        }
      }

    // Load the native ad with our request and callback.
    NativeAdLoader.load(adRequest, adCallback)
  }

  companion object {
    // Sample native ad unit ID.
    const val AD_UNIT_ID = "ca-app-pub-3940256099942544/2247696110"
  }
}

নেটিভ বিজ্ঞাপন ইভেন্ট কলব্যাক সেট করুন

onNativeAdLoaded ম্যানেজ করার সময়, নেটিভ বিজ্ঞাপনের লাইফসাইকেল ইভেন্ট পাওয়ার জন্য ফাংশন সংজ্ঞায়িত করতে, NativeAdEventCallback প্রাপ্ত NativeAd সেট করুন:

  nativeAd.adEventCallback =
    object : NativeAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // Native ad showed full screen content.
      }
      override fun onAdDismissedFullScreenContent() {
        // Native ad dismissed full screen content.
      }
      override fun onAdFailedToShowFullScreenContent {
        // Native ad failed to show full screen content.
      }
      override fun onAdImpression() {
        // Native ad recorded an impression.
      }
      override fun onAdClicked() {
        // Native ad recorded a click.
      }
    }

ঐচ্ছিক: একাধিক বিজ্ঞাপন লোড করুন

একাধিক বিজ্ঞাপন লোড করতে, ঐচ্ছিক numberOfAds প্যারামিটার সহ load() কল করুন। আপনি সর্বাধিক 5 ভ্যালু সেট করতে পারবেন, যা বিজ্ঞাপনের সংখ্যাকে দেখায়। GMA Next-Gen SDK আপনার অনুরোধ করা বিজ্ঞাপনের সঠিক সংখ্যা নাও দেখাতে পারে।

private fun loadAd() {
  // Build an ad request with native ad options to customize the ad.
  val adRequest = NativeAdRequest
    .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
    .build()

  val adCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Called when a native ad has loaded.
      }
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Called when a native ad has failed to load.
      }
      override fun onAdLoadingCompleted() {
        // Called when all native ads have loaded.
      }
    }

  // Load the native ad with our request and callback.
  NativeAdLoader.load(adRequest, 3, adCallback)
}

GMA Next-Gen SDK-এর মাধ্যমে দেখানো বিজ্ঞাপন অনন্য হয়, তবে রিজার্ভ করা ইনভেনটরি বা থার্ড-পার্টি ক্রেতাদের বিজ্ঞাপন অনন্য নাও হতে পারে।

আপনি মিডিয়েশন ব্যবহার করলে, load() মেথড কল করবেন না। মধ্যস্থতার জন্য কনফিগার করা বিজ্ঞাপন ইউনিট আইডির ক্ষেত্রে একাধিক নেটিভ বিজ্ঞাপনের অনুরোধ কাজ করে না।

পেশাদার পদ্ধতি

বিজ্ঞাপন লোড করার সময় এইসব নিয়ম মেনে চলুন।

  • যেসব অ্যাপ তালিকায় নেটিভ বিজ্ঞাপন ব্যবহার করে, সেগুলিকে বিজ্ঞাপনের তালিকা প্রি-ক্যাশ করতে হবে।

  • বিজ্ঞাপন প্রিক্যাশে করার সময়, আপনার ক্যাশে মুছে দিন এবং এক ঘণ্টা পরে আবার লোড করুন।

  • নেটিভ বিজ্ঞাপন ক্যাশিংয়ের পরিমাণ যতটা প্রয়োজন ততটাতেই সীমিত রাখুন। যেমন, প্রি-ক্যাশিংয়ের সময়, স্ক্রিনে অবিলম্বে দেখা যায় এমন বিজ্ঞাপনই শুধু ক্যাশে করুন। নেটিভ বিজ্ঞাপনের জন্য অনেক মেমরি প্রয়োজন হয় এবং নেটিভ বিজ্ঞাপন নষ্ট না করে ক্যাশে করলে অতিরিক্ত মেমরি ব্যবহার হয়।

  • নেটিভ বিজ্ঞাপন আর ব্যবহার না করলে তা ধ্বংস করে দিন।

ভিডিও বিজ্ঞাপনের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন

আপনার নেটিভ বিজ্ঞাপন ভিউতে ভিডিও বিজ্ঞাপন সফলভাবে দেখানোর জন্য, হার্ডওয়্যার অ্যাক্সিলারেশন চালু থাকতে হবে।

হার্ডওয়্যার অ্যাক্সিলারেশন ডিফল্ট হিসেবে চালু থাকে, তবে কিছু অ্যাপ এটি বন্ধ করার বিকল্প বেছে নিতে পারে। আপনার অ্যাপের ক্ষেত্রে এটি প্রযোজ্য হলে, বিজ্ঞাপন ব্যবহার করে এমন অ্যাক্টিভিটি ক্লাসের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন চালু করার সাজেশন আমরা দিই।

হার্ডওয়্যার অ্যাক্সিলারেশন চালু করা হচ্ছে

হার্ডওয়্যার অ্যাক্সিলারেশন গ্লোবালি চালু করার পরে আপনার অ্যাপ সঠিকভাবে কাজ না করলে, আপনি আলাদা আলাদা অ্যাক্টিভিটির জন্যও এটি নিয়ন্ত্রণ করতে পারবেন। হার্ডওয়্যার অ্যাক্সিলারেশন চালু বা বন্ধ করতে, আপনার AndroidManifest.xml-এ <application> এবং <activity> এলিমেন্টের জন্য android:hardwareAccelerated অ্যাট্রিবিউট ব্যবহার করুন। নিম্নলিখিত উদাহরণটি সমগ্র অ্যাপের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন চালু করে কিন্তু একটি অ্যাক্টিভিটির জন্য এটি বন্ধ করে:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

হার্ডওয়্যার অ্যাক্সিলারেশন কন্ট্রোল করার বিকল্প সম্পর্কে আরও তথ্যের জন্য HW অ্যাক্সিলারেশন গাইড দেখুন। মনে রাখবেন যে অ্যাক্টিভিটি বন্ধ থাকলে হার্ডওয়্যার অ্যাক্সিলারেশনের জন্য স্বতন্ত্র বিজ্ঞাপন ভিউ চালু করা যাবে না, তাই অ্যাক্টিভিটিতেই হার্ডওয়্যার অ্যাক্সিলারেশন চালু থাকতে হবে।

আপনার বিজ্ঞাপন দেখান

আপনি বিজ্ঞাপন লোড করার পরে, আপনার ব্যবহারকারীদের সেটি দেখানোই শুধু বাকি থাকে। আরও তথ্যের জন্য, নেটিভ অ্যাডভান্সড অথবা ফুল-স্ক্রিন নেটিভ বিজ্ঞাপন দেখুন।

উদাহরণ

GMA Next-Gen SDK-এর ব্যবহার দেখায় এমন উদাহরণ অ্যাপ ডাউনলোড করে রান করুন।