নেটিভ বিজ্ঞাপন হল এমন বিজ্ঞাপন সম্পদ যা ব্যবহারকারীদের কাছে প্ল্যাটফর্মের নেটিভ UI উপাদানগুলির মাধ্যমে উপস্থাপন করা হয়। আপনি যে ধরণের ভিউ দিয়ে ইতিমধ্যেই আপনার লেআউট তৈরি করছেন সেই ধরণের ভিউ ব্যবহার করে এগুলি দেখানো হয় এবং আপনার অ্যাপের ভিজ্যুয়াল ডিজাইনের সাথে মেলে ফর্ম্যাট করা যেতে পারে।
যখন একটি নেটিভ বিজ্ঞাপন লোড হয়, তখন আপনার অ্যাপটি একটি বিজ্ঞাপন বস্তু পায় যার মধ্যে এর সম্পদ থাকে এবং GMA Next Gen SDK-এর পরিবর্তে অ্যাপটিই সেগুলি প্রদর্শনের জন্য দায়ী থাকে।
বিস্তৃতভাবে বলতে গেলে, নেটিভ বিজ্ঞাপন সফলভাবে বাস্তবায়নের দুটি অংশ রয়েছে: SDK ব্যবহার করে একটি বিজ্ঞাপন লোড করা এবং তারপর আপনার অ্যাপে বিজ্ঞাপনের সামগ্রী প্রদর্শন করা।
এই পৃষ্ঠাটি দেখায় কিভাবে SDK ব্যবহার করে নেটিভ বিজ্ঞাপন লোড করতে হয়। টিপস: আমাদের নেটিভ বিজ্ঞাপন প্লেবুক থেকে নেটিভ বিজ্ঞাপন সম্পর্কে আরও জানুন।
জাভা এবং কোটলিনের জন্য নমুনা পাওয়া যাচ্ছে।আপনি কিছু গ্রাহক সাফল্যের গল্পও দেখতে পারেন: কেস স্টাডি ১ , কেস স্টাডি ২ ।
পূর্বশর্ত
- শুরু করুন নির্দেশিকাটি সম্পূর্ণ করুন।
- GMA নেক্সট জেনারেশন SDK 0.6.0-alpha01 বা উচ্চতর।
সর্বদা পরীক্ষামূলক বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করুন। এটি না করলে আপনার অ্যাকাউন্ট সাসপেন্ড হতে পারে।
পরীক্ষামূলক বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল নেটিভ বিজ্ঞাপনের জন্য আমাদের ডেডিকেটেড পরীক্ষামূলক বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
| বিজ্ঞাপনের ফর্ম্যাট | নমুনা বিজ্ঞাপন ইউনিট আইডি |
|---|---|
| স্থানীয় | ca-app-pub-3940256099942544/2247696110 |
| নেটিভ ভিডিও | ca-app-pub-3940256099942544/1044960115 |
একটি বিজ্ঞাপন লোড করুন
একটি নেটিভ বিজ্ঞাপন লোড করতে, 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 = "ca-app-pub-3940256099942544/2247696110"
}
}
নেটিভ বিজ্ঞাপন ইভেন্ট কলব্যাক সেট করুন
onNativeAdLoaded পরিচালনা করার সময়, নেটিভ বিজ্ঞাপনের জীবনচক্র ইভেন্টগুলি গ্রহণের জন্য ফাংশন নির্ধারণ করতে প্রাপ্ত NativeAd NativeAdEventCallback দিয়ে সেট করুন:
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>
হার্ডওয়্যার ত্বরণ নিয়ন্ত্রণের বিকল্পগুলি সম্পর্কে আরও তথ্যের জন্য HW ত্বরণ নির্দেশিকাটি দেখুন। মনে রাখবেন যে অ্যাক্টিভিটি অক্ষম থাকলে হার্ডওয়্যার ত্বরণের জন্য পৃথক বিজ্ঞাপন দর্শন সক্ষম করা যাবে না, তাই অ্যাক্টিভিটিতে অবশ্যই হার্ডওয়্যার ত্বরণ সক্ষম থাকতে হবে।
আপনার বিজ্ঞাপন প্রদর্শন করুন
একবার আপনি একটি বিজ্ঞাপন লোড করার পরে, আপনার ব্যবহারকারীদের কাছে এটি প্রদর্শন করা বাকি থাকে। কীভাবে তা দেখতে আমাদের নেটিভ অ্যাডভান্সড গাইডে যান।
উদাহরণ
GMA Next Gen SDK-এর ব্যবহার প্রদর্শনকারী উদাহরণ অ্যাপটি ডাউনলোড করে চালান।