নেটিভ বিজ্ঞাপন হল বিজ্ঞাপনের অ্যাসেট যা প্ল্যাটফর্মের নেটিভ 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-এর জায়গায় আপনার টেস্ট ডিভাইস আইডি লিখুন।
NativeAd ফর্ম্যাটের জন্য AdLoader প্রস্তুত করার জন্য
forNativeAd()
পদ্ধতিটি দায়ী।
বিজ্ঞাপন লোড হয়ে গেলে, লিসেনার অবজেক্টের 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 অ্যাক্সিলারেশন গাইড দেখুন। মনে রাখবেন, অ্যাক্টিভিটি বন্ধ থাকলে হার্ডওয়্যার অ্যাক্সিলারেশনের জন্য স্বতন্ত্র বিজ্ঞাপন ভিউ চালু করা যাবে না, তাই অ্যাক্টিভিটিতেই হার্ডওয়্যার অ্যাক্সিলারেশন চালু থাকতে হবে।
আপনার বিজ্ঞাপন দেখান
আপনি বিজ্ঞাপন লোড করার পরে, আপনার ব্যবহারকারীদের সেটি দেখানোই শুধু বাকি থাকে। আরও তথ্যের জন্য, নেটিভ অ্যাডভান্সড অথবা ফুল-স্ক্রিন নেটিভ বিজ্ঞাপন দেখুন।