নেটিভ বিজ্ঞাপন হল বিজ্ঞাপন অ্যাসেট যা প্ল্যাটফর্মের নেটিভ UI কম্পোনেন্টের মাধ্যমে ব্যবহারকারীদের দেখানো হয়। আপনি যে ধরনের ভিউ ব্যবহার করে লেআউট তৈরি করেন, সেই একই ধরনের ভিউ ব্যবহার করে এগুলি দেখানো হয় এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে ম্যাচ করার জন্য ফর্ম্যাট করা যেতে পারে।
নেটিভ বিজ্ঞাপন লোড হলে, আপনার অ্যাপ একটি বিজ্ঞাপন অবজেক্ট পায় যাতে অ্যাসেট থাকে, এবং অ্যাপ—Google Mobile Ads SDK (Legacy)-এর পরিবর্তে—সেগুলি দেখানোর জন্য দায়ী থাকে।
সাধারণভাবে বলতে গেলে, নেটিভ বিজ্ঞাপন সফলভাবে প্রয়োগ করার দুটি অংশ আছে: SDK ব্যবহার করে বিজ্ঞাপন লোড করা এবং তারপর আপনার অ্যাপে বিজ্ঞাপনের কন্টেন্ট দেখানো।
এই পৃষ্ঠায় দেখানো হয়েছে যে কীভাবে SDK ব্যবহার করে নেটিভ বিজ্ঞাপন লোড করতে হয়। পরামর্শ: আমাদের নেটিভ বিজ্ঞাপন প্লেবুক থেকে নেটিভ বিজ্ঞাপন সম্পর্কে আরও জানুন।
এছাড়াও, আপনি কিছু গ্রাহকের সাফল্যের গল্প দেখতে পারেন: কেস স্টাডি ১, কেস স্টাডি ২।
পূর্বশর্ত
চালিয়ে যাওয়ার আগে, Google Mobile Ads SDK (Legacy) সেট-আপ করুন।
সবসময় টেস্ট বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি ও পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করতে ভুলবেন না।
টেস্ট বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল Android-এ নেটিভ বিজ্ঞাপনের জন্য আমাদের নির্দিষ্ট টেস্ট বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
ca-app-pub-3940256099942544/2247696110
এটি বিশেষভাবে কনফিগার করা হয়েছে যাতে প্রতিটি অনুরোধের জন্য টেস্ট বিজ্ঞাপন দেখানো যায় এবং আপনি কোডিং, টেস্টিং এবং ডিবাগিং করার সময় আপনার নিজের অ্যাপে এটি ব্যবহার করতে পারেন। শুধু নিশ্চিত করুন যে আপনি আপনার অ্যাপ প্রকাশ করার আগে এটি আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি দিয়ে প্রতিস্থাপন করেছেন।
Google Mobile Ads SDK (Legacy)পরীক্ষামূলক বিজ্ঞাপন সম্পর্কে বিস্তারিত জানতে, পরীক্ষামূলক বিজ্ঞাপন চালু করুন।
বিজ্ঞাপন লোড করুন
নেটিভ বিজ্ঞাপন
AdLoader ক্লাসের সাথে লোড হয়,
যার নিজস্ব
Builder
ক্লাস আছে, যা তৈরির সময় কাস্টমাইজ করা যায়। AdLoader
তৈরি করার সময় লিসেনার যোগ করে, অ্যাপটি কোন ধরনের নেটিভ বিজ্ঞাপন গ্রহণ করার জন্য প্রস্তুত তা নির্দিষ্ট করে। AdLoader তারপরে শুধু সেইসব ধরনের অনুরোধ করে।
AdLoader তৈরি করা
নিম্নলিখিত কোড থেকে কীভাবে AdLoader তৈরি করতে হয় তা জানতে পারবেন যা নেটিভ
বিজ্ঞাপন লোড করতে পারে:
Java
Kotlin
আপনার টেস্ট ডিভাইসের আইডি দিয়ে AD_UNIT_ID পাল্টে দিন।
forNativeAd()
পদ্ধতিটি NativeAd ফর্ম্যাটের জন্য AdLoader প্রস্তুত করার জন্য দায়ী।
কোনও বিজ্ঞাপন সফলভাবে লোড করা হলে, লিসনার অবজেক্টের onNativeAdLoaded()
মেথড কল করা হয়।
AdLoader-এর সাথে AdListener সেট-আপ করা (ঐচ্ছিক)
AdLoader তৈরি করার সময়, withAdListener
ফাংশনটি লোডারের জন্য
AdListener সেট করে। এই পদ্ধতিতে একটি AdListener প্যারামিটার হিসেবে নেওয়া হয়, যা বিজ্ঞাপন লাইফসাইকেল ইভেন্ট ঘটলে AdLoader থেকে
কলব্যাক পায়:
Java
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
new AdListener() {});
Kotlin
adLoaderBuilder.withAdListener(
// Override AdListener callbacks here.
object : AdListener() {}
)
বিজ্ঞাপনের অনুরোধ করুন
AdLoader তৈরি করা হয়ে গেলে, বিজ্ঞাপনের অনুরোধ করার সময় এসে গেছে।
এর জন্য দুটি পদ্ধতি উপলভ্য: loadAd() এবং loadAds()।
loadAd()
এই পদ্ধতিতে একটি বিজ্ঞাপনের জন্য অনুরোধ পাঠানো হয়।
Java
adLoader.loadAd(new AdRequest.Builder().build());
Kotlin
adLoader.loadAd(AdRequest.Builder().build())
loadAds()
এই পদ্ধতি একাধিক বিজ্ঞাপনের (সর্বাধিক পাঁচটি) জন্য অনুরোধ পাঠায়:
Java
// Load three native ads.
adLoader.loadAds(new AdRequest.Builder().build(), 3);
Kotlin
// Load three native ads.
adLoader.loadAds(AdRequest.Builder().build(), 3)
দুটি পদ্ধতিই প্রথম প্যারামিটার হিসেবে একটি
AdRequest
অবজেক্ট নেয়। এটি সেই একই
AdRequest ক্লাস যা ব্যানার ও ইন্টারস্টিশিয়াল বিজ্ঞাপন
ব্যবহার করে এবং আপনি AdRequest ক্লাসের পদ্ধতি ব্যবহার করে
টার্গেটিং সংক্রান্ত তথ্য যোগ করতে পারবেন, ঠিক যেভাবে
অন্যান্য বিজ্ঞাপন ফর্ম্যাটের ক্ষেত্রে করেন।
একাধিক বিজ্ঞাপন লোড করা (ঐচ্ছিক)
loadAds() পদ্ধতিতে একটি অতিরিক্ত প্যারামিটার লাগে: অনুরোধের জন্য SDK-কে যতগুলি বিজ্ঞাপন
লোড করার চেষ্টা করতে হবে। এই সংখ্যাটি সর্বাধিক পাঁচ পর্যন্ত হতে পারে এবং SDK অনুরোধ করা বিজ্ঞাপনের সঠিক সংখ্যা রিটার্ন করবে
এমন কোনও গ্যারান্টি নেই।
রিটার্ন করা সব Google বিজ্ঞাপন একে অপরের থেকে আলাদা হবে, যদিও রিজার্ভ করা ইনভেনটরি বা থার্ড-পার্টি ক্রেতাদের বিজ্ঞাপন অনন্য হবে এমন গ্যারান্টি দেওয়া হয় না।
আপনি মধ্যস্থতা ব্যবহার করলে loadAds() পদ্ধতি ব্যবহার করবেন না, কারণ মধ্যস্থতার জন্য কনফিগার করা বিজ্ঞাপন ইউনিট আইডির ক্ষেত্রে একাধিক নেটিভ বিজ্ঞাপনের অনুরোধ কাজ করে না।
কলব্যাক
loadAd()-এ কল করার পরে, নেটিভ বিজ্ঞাপন অবজেক্ট ডেলিভার করতে বা কোনও সমস্যার রিপোর্ট করতে, আগে থেকে নির্দিষ্ট করা
লিসেনার পদ্ধতিতে একটি কলব্যাক করা হয়।
loadAds()-এ কল করার পরে, এই ধরনের একাধিক কলব্যাক করা হয় (অন্তত একটি,
এবং অনুরোধ করা বিজ্ঞাপনের সংখ্যার বেশি নয়)। একাধিক বিজ্ঞাপনের অনুরোধ করা অ্যাপগুলিকে
লোড করার প্রসেস সম্পূর্ণ হয়েছে কিনা তা নির্ধারণ করতে
তাদের কলব্যাক ইমপ্লিমেন্টেশনে AdLoader.isLoading() কল করতে হবে।
onNativeAdLoaded() কলব্যাকে কীভাবে isLoading() চেক করতে হয় তার উদাহরণ এখানে দেওয়া হল:
Java
adLoaderBuilder
.forNativeAd(
nativeAd -> {
// This callback is invoked when a native ad is successfully loaded.
})
.build();
Kotlin
adLoaderBuilder
.forNativeAd { nativeAd ->
// This callback is invoked when a native ad is successfully loaded.
}
.build()
রিসোর্স রিলিজ করা
লোড করা নেটিভ বিজ্ঞাপনে destroy() পদ্ধতি ব্যবহার করতে ভুলবেন না। এর ফলে
ব্যবহৃত রিসোর্স রিলিজ হয়ে যায় এবং মেমরি লিক প্রতিরোধ করা যায়।
আপনার অ্যাক্টিভিটির onDestroy() পদ্ধতিতে সব NativeAd রেফারেন্স নষ্ট করা হয়েছে কিনা তা যাচাই করুন।
আপনার onNativeAdLoaded কলব্যাকে, আগে থেকে থাকা যেকোনও নেটিভ বিজ্ঞাপন
যা ডিরেফারেন্স করা হবে তা ধ্বংস করতে ভুলবেন না।
আরেকটি গুরুত্বপূর্ণ চেক হল, অ্যাক্টিভিটি নষ্ট হয়ে গেছে কিনা তা দেখা এবং যদি তাই হয়, তাহলে
ফেরত আসা বিজ্ঞাপনে destroy() কল করুন এবং অবিলম্বে ফিরে আসুন:
Java
nativeAd.destroy();
Kotlin
nativeAd.destroy()
পেশাদার পদ্ধতি
বিজ্ঞাপন লোড করার সময় এইসব নিয়ম মেনে চলুন।
যেসব অ্যাপ তালিকায় নেটিভ বিজ্ঞাপন ব্যবহার করে, সেগুলিকে বিজ্ঞাপনের তালিকা প্রি-ক্যাশ করতে হবে।
বিজ্ঞাপন প্রিক্যাশে করার সময়, আপনার ক্যাশে মুছে দিন এবং এক ঘণ্টা পরে আবার লোড করুন।
- প্রথম অনুরোধ লোড হওয়া শেষ না হওয়া পর্যন্ত
AdLoader-এloadAd()বা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 অ্যাক্সিলারেশন গাইড দেখুন। মনে রাখবেন অ্যাক্টিভিটি বন্ধ থাকলে, হার্ডওয়্যার অ্যাক্সিলারেশনের জন্য স্বতন্ত্র বিজ্ঞাপন ভিউ চালু করা যাবে না, তাই অ্যাক্টিভিটিতে হার্ডওয়্যার অ্যাক্সিলারেশন চালু থাকতে হবে।
আপনার বিজ্ঞাপন দেখান
আপনি বিজ্ঞাপন লোড করার পরে, সেটি ব্যবহারকারীদের দেখানোই বাকি থাকে। আরও তথ্যের জন্য, নেটিভ অ্যাডভান্সড অথবা ফুল-স্ক্রিন নেটিভ বিজ্ঞাপন দেখুন।