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