নেটিভ বিজ্ঞাপন

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

যখন একটি নেটিভ বিজ্ঞাপন লোড হয়, তখন আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যাতে তার সম্পদ থাকে এবং অ্যাপটি—Google মোবাইল বিজ্ঞাপন SDK (বিটা)-এর পরিবর্তে—তাহলে সেগুলি দেখানোর জন্য দায়ী৷

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

এই পৃষ্ঠাটি দেখায় কিভাবে নেটিভ বিজ্ঞাপন লোড করতে SDK ব্যবহার করতে হয়।

পূর্বশর্ত

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

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

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

বিজ্ঞাপন বিন্যাস নমুনা বিজ্ঞাপন ইউনিট আইডি
নেটিভ /21775744923/example/native
নেটিভ ভিডিও /21775744923/example/native-video

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

একটি নেটিভ বিজ্ঞাপন লোড করতে, 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 = "/21775744923/example/native"
  }
}

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

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 , যা বিজ্ঞাপনের সংখ্যাকে প্রতিনিধিত্ব করে৷ Google মোবাইল বিজ্ঞাপন 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)
}

যে বিজ্ঞাপনগুলি Google Mobile Ads 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 ত্বরণ নির্দেশিকা দেখুন। মনে রাখবেন যে কার্যকলাপটি অক্ষম থাকলে হার্ডওয়্যার ত্বরণের জন্য পৃথক বিজ্ঞাপন দৃশ্যগুলি সক্ষম করা যাবে না, তাই ক্রিয়াকলাপ নিজেই হার্ডওয়্যার ত্বরণ সক্ষম থাকতে হবে৷

আপনার বিজ্ঞাপন প্রদর্শন করুন

একবার আপনি একটি বিজ্ঞাপন লোড করার পরে, যা অবশিষ্ট থাকে তা হল আপনার ব্যবহারকারীদের কাছে এটি প্রদর্শন করা। কিভাবে দেখতে আমাদের নেটিভ অ্যাডভান্সড গাইডে যান।

উদাহরণ

Google মোবাইল বিজ্ঞাপন SDK (বিটা) ব্যবহার প্রদর্শন করে এমন উদাহরণ অ্যাপ ডাউনলোড করুন এবং চালান।