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

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস ফ্লাটার ইউনিটি

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

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

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

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

আপনি কিছু গ্রাহকের সাফল্যের গল্পও দেখতে পারেন: কেস স্টাডি 1 , কেস স্টাডি 2

পূর্বশর্ত

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

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

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

ca-app-pub-3940256099942544/2247696110

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

Google মোবাইল বিজ্ঞাপন SDK পরীক্ষার বিজ্ঞাপনগুলি কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, পরীক্ষা বিজ্ঞাপনগুলি দেখুন।

লোড বিজ্ঞাপন

নেটিভ বিজ্ঞাপনগুলি AdLoader ক্লাসের সাথে লোড করা হয়, যার নিজস্ব Builder ক্লাস রয়েছে যা তৈরি করার সময় এটি কাস্টমাইজ করতে পারে। এটি তৈরি করার সময় AdLoader শ্রোতাদের যোগ করে, একটি অ্যাপ নির্দিষ্ট করে যে এটি কোন ধরনের নেটিভ বিজ্ঞাপনগুলি গ্রহণ করতে প্রস্তুত। AdLoader তারপর শুধুমাত্র এই ধরনের অনুরোধ.

একটি অ্যাডলোডার তৈরি করুন

নিম্নলিখিত কোডটি দেখায় কিভাবে একটি AdLoader তৈরি করতে হয় যা নেটিভ বিজ্ঞাপন লোড করতে পারে:

জাভা

// It is recommended to call AdLoader.Builder on a background thread. new Thread(         () -> {           AdLoader adLoader =               new AdLoader.Builder(context, "AD_UNIT_ID")                   .forNativeAd(                       new NativeAd.OnNativeAdLoadedListener() {                         @Override                         // The native ad loaded successfully. You can show the ad.                         public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {}                       })                   .withAdListener(                       new AdListener() {                         @Override                         // The native ad load failed. Check the adError message for failure                         // reasons.                         public void onAdFailedToLoad(@NonNull LoadAdError adError) {}                       })                   // Use the NativeAdOptions.Builder class to specify individual options                   // settings.                   .withNativeAdOptions(new NativeAdOptions.Builder().build())                   .build();         })     .start();

কোটলিন

// It is recommended to call AdLoader.Builder on a background thread. CoroutineScope(Dispatchers.IO).launch {   val adLoader =     AdLoader.Builder(context, "AD_UNIT_ID")       .forNativeAd { nativeAd ->         // The native ad loaded successfully. You can show the ad.       }       .withAdListener(         object : AdListener() {           override fun onAdFailedToLoad(adError: LoadAdError) {             // The native ad load failed. Check the adError message for failure reasons.           }         }       )       // Use the NativeAdOptions.Builder class to specify individual options settings.       .withNativeAdOptions(NativeAdOptions.Builder().build())       .build() }

আপনার টেস্ট ডিভাইস আইডি দিয়ে AD_UNIT_ID প্রতিস্থাপন করুন।

forNativeAd() পদ্ধতি NativeAd ফরম্যাটের জন্য AdLoader প্রস্তুত করার জন্য দায়ী। একটি বিজ্ঞাপন সফলভাবে লোড হলে, শ্রোতা বস্তুর onNativeAdLoaded() পদ্ধতি বলা হয়।

AdLoader এর সাথে একটি AdListener সেট আপ করুন (ঐচ্ছিক)

AdLoader তৈরি করার সময়, withAdListener ফাংশন লোডারের জন্য একটি AdListener সেট করে। পদ্ধতিটি একটি AdListener তার একমাত্র প্যারামিটার হিসাবে নেয়, যেটি AdLoader থেকে কলব্যাক গ্রহণ করে যখন বিজ্ঞাপনের জীবনচক্রের ঘটনা ঘটে:

জাভা

adLoaderBuilder.withAdListener(     // Override AdListener callbacks here.     new AdListener() {}); 

কোটলিন

adLoaderBuilder.withAdListener(   // Override AdListener callbacks here.   object : AdListener() {} ) 

বিজ্ঞাপনের জন্য অনুরোধ করুন

একবার আপনি একটি AdLoader তৈরি করা শেষ করলে, এটি বিজ্ঞাপনের অনুরোধ করার জন্য এটি ব্যবহার করার সময়। এর জন্য দুটি পদ্ধতি উপলব্ধ: loadAd() এবং loadAds()

loadAd()

এই পদ্ধতিটি একটি একক বিজ্ঞাপনের জন্য একটি অনুরোধ পাঠায়।

জাভা

adLoader.loadAd(new AdRequest.Builder().build()); 

কোটলিন

adLoader.loadAd(AdRequest.Builder().build()) 

loadAds()

এই পদ্ধতিটি একাধিক বিজ্ঞাপনের জন্য একটি অনুরোধ পাঠায় (পাঁচটি পর্যন্ত):

জাভা

// Load three native ads. adLoader.loadAds(new AdRequest.Builder().build(), 3); 

কোটলিন

// Load three native ads. adLoader.loadAds(AdRequest.Builder().build(), 3) 

উভয় পদ্ধতি তাদের প্রথম প্যারামিটার হিসাবে একটি AdRequest অবজেক্ট গ্রহণ করে। এটি একই AdRequest ক্লাস ব্যানার এবং ইন্টারস্টিশিয়াল দ্বারা ব্যবহৃত হয়, এবং আপনি লক্ষ্য করার তথ্য যোগ করতে AdRequest ক্লাসের পদ্ধতিগুলি ব্যবহার করতে পারেন, ঠিক যেমন আপনি অন্যান্য বিজ্ঞাপন ফর্ম্যাটের সাথে করবেন৷

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

loadAds() পদ্ধতিতে একটি অতিরিক্ত প্যারামিটার লাগে: অনুরোধের জন্য SDK-এর যতগুলি বিজ্ঞাপন লোড করার চেষ্টা করা উচিত। এই সংখ্যাটি পাঁচটিতে সীমাবদ্ধ, এবং এটি নিশ্চিত নয় যে SDK অনুরোধ করা বিজ্ঞাপনের সঠিক সংখ্যাটি ফিরিয়ে দেবে।

প্রত্যাবর্তিত Google বিজ্ঞাপনগুলি একে অপরের থেকে আলাদা হবে, যদিও সংরক্ষিত ইনভেন্টরি বা তৃতীয় পক্ষের ক্রেতাদের বিজ্ঞাপনগুলি অনন্য হওয়ার নিশ্চয়তা নেই৷

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

কলব্যাক

loadAd() এ কল করার পর, নেটিভ বিজ্ঞাপন অবজেক্ট ডেলিভার করতে বা একটি ত্রুটি রিপোর্ট করার জন্য পূর্বে সংজ্ঞায়িত শ্রোতা পদ্ধতিতে একটি একক কলব্যাক করা হয়।

loadAds() এ একটি কল করার পর, এই ধরনের একাধিক কলব্যাক করা হয় (অন্তত একটি, এবং অনুরোধ করা বিজ্ঞাপনের সংখ্যার বেশি নয়)। যে অ্যাপগুলি একাধিক বিজ্ঞাপনের অনুরোধ করছে তাদের লোডিং প্রক্রিয়া শেষ হয়েছে কিনা তা নির্ধারণ করতে তাদের কলব্যাক বাস্তবায়নে AdLoader.isLoading() কল করা উচিত।

onNativeAdLoaded() কলব্যাকে কীভাবে isLoading() চেক করতে হয় তা এখানে একটি উদাহরণ রয়েছে:

জাভা

adLoaderBuilder     .forNativeAd(         nativeAd -> {           // This callback is invoked when a native ad is successfully loaded.         })     .build(); 

কোটলিন

adLoaderBuilder   .forNativeAd { nativeAd ->     // This callback is invoked when a native ad is successfully loaded.   }   .build() 

রিলিজ সম্পদ

লোড করা নেটিভ বিজ্ঞাপনগুলিতে destroy() পদ্ধতি ব্যবহার করতে ভুলবেন না। এটি ব্যবহৃত সম্পদ প্রকাশ করে এবং মেমরি লিক প্রতিরোধ করে।

আপনার কার্যকলাপের onDestroy() পদ্ধতিতে সমস্ত NativeAd রেফারেন্স ধ্বংস করা হয়েছে তা যাচাই করুন।

আপনার onNativeAdLoaded কলব্যাকে, যে কোনো বিদ্যমান নেটিভ বিজ্ঞাপনগুলিকে ডিরেফারেন্স করা হবে তা ধ্বংস করতে ভুলবেন না।

আরেকটি মূল চেক হল কার্যকলাপ ধ্বংস হয়ে গেছে কিনা এবং যদি তাই হয়, তাহলে প্রত্যাবর্তিত বিজ্ঞাপনে destroy() কল করুন এবং অবিলম্বে ফিরে আসুন:

জাভা

nativeAd.destroy(); 

কোটলিন

nativeAd.destroy() 

সর্বোত্তম অনুশীলন

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

  • যে অ্যাপগুলি একটি তালিকায় নেটিভ বিজ্ঞাপনগুলি ব্যবহার করে সেগুলিকে বিজ্ঞাপনের তালিকা প্রিক্যাচ করা উচিত৷

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

  • প্রথম অনুরোধ লোডিং শেষ না হওয়া পর্যন্ত একটি AdLoaderloadAd() বা loadAds() কল করবেন না।
  • নেটিভ অ্যাড ক্যাশিং শুধুমাত্র যা প্রয়োজন তা সীমিত করুন। যেমন প্রিক্যাচিং করার সময়, শুধুমাত্র সেই বিজ্ঞাপনগুলিকে ক্যাশে করুন যেগুলি স্ক্রিনে অবিলম্বে দৃশ্যমান। নেটিভ বিজ্ঞাপনগুলির একটি বড় মেমরি ফুটপ্রিন্ট থাকে এবং নেটিভ বিজ্ঞাপনগুলিকে ধ্বংস না করে ক্যাশে করার ফলে অতিরিক্ত মেমরি ব্যবহার হয়৷

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

ভিডিও বিজ্ঞাপনের জন্য হার্ডওয়্যার ত্বরণ

আপনার নেটিভ বিজ্ঞাপন দৃশ্যে ভিডিও বিজ্ঞাপনগুলি সফলভাবে দেখানোর জন্য, হার্ডওয়্যার ত্বরণ সক্ষম করতে হবে।

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

হার্ডওয়্যার ত্বরণ সক্ষম করা হচ্ছে

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

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

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