Native ads have many advanced features that allow you to make additional customizations and make the best possible ad experience. This guide shows you how to use the advanced features of native ads.
পূর্বশর্ত
- নেটিভ বিজ্ঞাপন ফরম্যাটটি একীভূত করুন।
সম্পদ নিয়ন্ত্রণ
This section details how to customize the creative assets in your native ads. You have the option to specify a preferred aspect ratio for media assets and how the image assets are downloaded and displayed.
পছন্দের মিডিয়া অ্যাসপেক্ট রেশিও নিয়ন্ত্রণ
মিডিয়া অ্যাসপেক্ট রেশিও কন্ট্রোল আপনাকে বিজ্ঞাপন ক্রিয়েটিভের অ্যাসপেক্ট রেশিওর জন্য আপনার পছন্দ নির্দিষ্ট করার সুযোগ দেয়।
NativeAd.NativeMediaAspectRatio মান দিয়ে NativeAdRequest.Builder.setMediaAspectRatio() কল করুন।
সেট না করা থাকলে, ফেরত আসা বিজ্ঞাপনের যেকোনো মিডিয়া অ্যাসপেক্ট রেশিও থাকতে পারে।
সেট করা হলে, আপনি পছন্দের অ্যাস্পেক্ট রেশিওর ধরন নির্দিষ্ট করে ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারবেন।
নিম্নলিখিত উদাহরণটি SDK-কে একটি নির্দিষ্ট অ্যাস্পেক্ট রেশিও সহ রিটার্ন ইমেজ বা ভিডিওকে অগ্রাধিকার দিতে নির্দেশ দেয়।
কোটলিন
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
জাভা
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
ছবি ডাউনলোড নিয়ন্ত্রণ
ইমেজ ডাউনলোড কন্ট্রোল আপনাকে সিদ্ধান্ত নিতে দেয় যে SDK দ্বারা ইমেজ অ্যাসেট নাকি শুধুমাত্র URI ফেরত দেওয়া হবে।
NativeAdRequest.Builder.disableImageDownloading() কল করুন।
ইমেজ ডাউনলোড নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।
নিষ্ক্রিয় করা থাকলে, GMA Next-Gen SDK আপনার জন্য ছবি এবং URI উভয়ই পূরণ করে দেয়।
এটি সক্রিয় করা হলে, SDK শুধু URI-টি পূরণ করে দেয়, ফলে আপনি আপনার ইচ্ছামতো আসল ছবিগুলো ডাউনলোড করতে পারেন।
নিম্নলিখিত উদাহরণটি SDK-কে শুধুমাত্র URI ফেরত দিতে নির্দেশ দেয়।
কোটলিন
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
জাভা
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
ইমেজ পেলোড নিয়ন্ত্রণ
কিছু বিজ্ঞাপনে একটির পরিবর্তে একাধিক ছবি থাকে। আপনার অ্যাপটি সবগুলো ছবি নাকি শুধু একটি ছবি প্রদর্শন করতে প্রস্তুত, তা নির্দেশ করতে এই বৈশিষ্ট্যটি ব্যবহার করুন।
ইমেজ পেলোড নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।
এটি নিষ্ক্রিয় করা থাকলে, আপনার অ্যাপ SDK-কে নির্দেশ দেয় যেন একাধিক ছবি সম্বলিত যেকোনো অ্যাসেটের জন্য শুধু প্রথম ছবিটি সরবরাহ করা হয়।
এটি সক্রিয় করা হলে, আপনার অ্যাপ নির্দেশ করে যে এটি একাধিক ছবি আছে এমন যেকোনো অ্যাসেটের সমস্ত ছবি প্রদর্শন করতে প্রস্তুত।
নিম্নলিখিত উদাহরণটি SDK-কে একাধিক ইমেজ অ্যাসেট ফেরত দিতে নির্দেশ দেয়।
AdChoices প্লেসমেন্ট
এই বিভাগে AdChoices ওভারলে-এর অবস্থান নির্ধারণের পদ্ধতি বিস্তারিতভাবে বর্ণনা করা হয়েছে। আপনার কাছে এটিকে চারটি কোণার যেকোনো একটিতে স্থাপন করার অথবা একটি কাস্টম ভিউ-এর মধ্যে রেন্ডার করার বিকল্প রয়েছে।
AdChoices অবস্থান নিয়ন্ত্রণ
AdChoices পজিশন কন্ট্রোল আপনাকে বেছে নিতে দেয় যে AdChoices আইকনটি কোন কোণায় প্রদর্শিত হবে।
NativeAdRequest.AdChoicesPlacement ভ্যালুটি দিয়ে NativeAdRequest.AdChoicesPlacement NativeAdRequest.Builder.setAdChoicesPlacement() কল করুন।
সেট করা না থাকলে, AdChoices আইকনের অবস্থান উপরের ডানদিকে সেট করা হয়।
সেট করা থাকলে, AdChoices অনুরোধ অনুযায়ী নির্দিষ্ট অবস্থানে স্থাপন করা হয়।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি কাস্টম AdChoices ছবির অবস্থান সেট করতে হয়।
কোটলিন
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
জাভা
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdChoices কাস্টম ভিউ
The AdChoices custom view feature lets you position the AdChoices icon in a custom location. This is different from AdChoices position controls, which only allows specification of one of the four corners.
একটি AdChoicesView ভ্যালু দিয়ে NativeAdView.setAdChoicesView() কল করুন।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি কাস্টম AdChoices ভিউ সেট করতে হয়, যেখানে AdChoices আইকনটি AdChoicesView ভিতরে রেন্ডার করা হয়।
কোটলিন
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
জাভা
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
ভিডিও নিয়ন্ত্রণ
এই বিভাগে ভিডিও বিজ্ঞাপনের প্লেব্যাক অভিজ্ঞতা কীভাবে কাস্টমাইজ করবেন তার বিস্তারিত বর্ণনা দেওয়া হয়েছে। আপনার কাছে প্রাথমিক মিউট অবস্থা সেট করার এবং কাস্টম প্লেব্যাক নিয়ন্ত্রণ প্রয়োগ করার বিকল্প রয়েছে।
মিউট আচরণ শুরু করুন
স্টার্ট মিউটেড বিহেভিয়ার আপনাকে একটি ভিডিওর শুরুর অডিও বন্ধ বা চালু করার সুবিধা দেয়।
একটি boolean মান দিয়ে VideoOptions.Builder.setStartMuted() কল করুন এবং NativeAdOptions.Builder.setVideoOptions() কল করুন।
ডিফল্টরূপে স্টার্ট মিউটেড আচরণটি সক্রিয় থাকে।
এটি নিষ্ক্রিয় করা থাকলে, আপনার অ্যাপ ভিডিওটি অডিও দিয়ে শুরু করার অনুরোধ করে।
এটি চালু করা হলে, আপনার অ্যাপ অনুরোধ করে যেন ভিডিওটি অডিও মিউট করে শুরু করা হয়।
নিচের উদাহরণটিতে দেখানো হয়েছে কীভাবে অডিও আন-মিউট করে ভিডিও শুরু করতে হয়।
কোটলিন
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
জাভা
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
কাস্টম প্লেব্যাক নিয়ন্ত্রণ
এর মাধ্যমে আপনি ভিডিওটি প্লে, পজ বা মিউট করার জন্য নিজস্ব ইনপুট কন্ট্রোলের অনুরোধ করতে পারবেন।
বিজ্ঞাপন শুরুর সময় মিউট অবস্থা সেট করতে, VideoOptions.Builder.setCustomControlsRequested() কল করুন।
কাস্টম প্লেব্যাক নিয়ন্ত্রণ ডিফল্টরূপে নিষ্ক্রিয় থাকে।
নিষ্ক্রিয় করা থাকলে, আপনার ভিডিওতে SDK দ্বারা রেন্ডার করা ইনপুট কন্ট্রোলগুলো দেখানো হবে।
If the ad does have video content and custom controls are enabled, you should then display your custom controls along with the ad, as the ad won't show any controls itself. The controls can then call the relevant methods on the
VideoOptions.Builder.setCustomControlsRequested() .
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে কাস্টম প্লেব্যাক কন্ট্রোল সহ একটি ভিডিওর জন্য অনুরোধ করতে হয়।
কোটলিন
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
জাভা
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
কাস্টম কন্ট্রোলগুলি সক্রিয় আছে কিনা তা পরীক্ষা করুন
যেহেতু অনুরোধ করার সময় এটা জানা যায় না যে ফেরত আসা বিজ্ঞাপনটিতে কাস্টম ভিডিও কন্ট্রোলের অনুমতি থাকবে কিনা, তাই আপনাকে অবশ্যই যাচাই করতে হবে যে সেটিতে কাস্টম কন্ট্রোল সক্রিয় করা আছে কিনা।
কোটলিন
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
জাভা
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
}
};
কাস্টম ভিডিও নিয়ন্ত্রণ রেন্ডার করুন
নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি ব্যবহার করে কাস্টম ভিডিও নিয়ন্ত্রণগুলি রেন্ডার করুন:
- কাস্টম কন্ট্রোল ভিউটিকে নেটিভ অ্যাড ভিউ-এর চাইল্ড হিসেবে রেন্ডার করুন। এই পদ্ধতিটি ওপেন মেজারমেন্ট ভিউএবিলিটি ক্যালকুলেশনগুলোকে কাস্টম কন্ট্রোলগুলোকে একটি ফ্রেন্ডলি অবস্ট্রাকশন হিসেবে বিবেচনা করতে দেয়।
- Avoid rendering an invisible overlay over the entire media view. Overlays block clicks on the media view, negatively impacting native ads performance. Instead, create a small overlay that is just large enough to fit the controls.