নেটিভ অ্যাড হলো এমন বিজ্ঞাপন উপাদান যা প্ল্যাটফর্মের নিজস্ব UI কম্পোনেন্টের মাধ্যমে ব্যবহারকারীদের কাছে উপস্থাপন করা হয়। এগুলো সেই একই ধরনের ভিউ ব্যবহার করে দেখানো হয়, যা দিয়ে আপনি ইতিমধ্যেই আপনার লেআউট তৈরি করছেন, এবং এগুলোকে আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে মিলিয়ে ফরম্যাট করা যায়।
যখন একটি নেটিভ বিজ্ঞাপন লোড হয়, তখন আপনার অ্যাপ একটি অ্যাড অবজেক্ট পায়, যার মধ্যে এর অ্যাসেটগুলো থাকে, এবং এরপর GMA Next-Gen SDK পরিবর্তে অ্যাপটিই সেগুলো প্রদর্শনের দায়িত্বে থাকে।
মোটামুটিভাবে বলতে গেলে, নেটিভ বিজ্ঞাপন সফলভাবে প্রয়োগ করার দুটি অংশ রয়েছে: SDK ব্যবহার করে একটি বিজ্ঞাপন লোড করা এবং তারপর আপনার অ্যাপে বিজ্ঞাপনের বিষয়বস্তু প্রদর্শন করা।
এই পৃষ্ঠায় দেখানো হয়েছে কীভাবে এসডিকে ব্যবহার করে নেটিভ বিজ্ঞাপন লোড করতে হয়।
পূর্বশর্ত
- GMA Next-Gen SDK সেট আপ করুন ।
- GMA Next-Gen 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 সেট করতে পারেন, যা বিজ্ঞাপনের সংখ্যা নির্দেশ করে। 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>
হার্ডওয়্যার অ্যাক্সিলারেশন নিয়ন্ত্রণের বিকল্পগুলো সম্পর্কে আরও তথ্যের জন্য হার্ডওয়্যার অ্যাক্সিলারেশন গাইডটি দেখুন। মনে রাখবেন, অ্যাক্টিভিটিটি নিষ্ক্রিয় থাকলে স্বতন্ত্র বিজ্ঞাপন ভিউগুলোর জন্য হার্ডওয়্যার অ্যাক্সিলারেশন সক্রিয় করা যায় না, তাই অ্যাক্টিভিটিটিতেই হার্ডওয়্যার অ্যাক্সিলারেশন সক্রিয় থাকতে হবে।
আপনার বিজ্ঞাপন প্রদর্শন করুন
একবার বিজ্ঞাপন লোড হয়ে গেলে, বাকি থাকে শুধু ব্যবহারকারীদের কাছে তা প্রদর্শন করা। কীভাবে তা করবেন, তা জানতে আমাদের নেটিভ অ্যাডভান্সড গাইডটি দেখুন।
উদাহরণ
GMA Next-Gen SDK এর ব্যবহার প্রদর্শনকারী উদাহরণ অ্যাপটি ডাউনলোড করে চালান।