নেটিভ টেমপ্লেট হল আপনার নেটিভ বিজ্ঞাপনের জন্য কোড-সম্পূর্ণ ভিউ, যা দ্রুত বাস্তবায়ন এবং সহজ পরিবর্তনের জন্য ডিজাইন করা হয়েছে। নেটিভ টেমপ্লেটের সাহায্যে, প্লাগইনটি আপনার জন্য পূর্বনির্মিত অ্যান্ড্রয়েড এবং iOS লেআউট সরবরাহ করে এবং আপনি একটি ডার্ট এপিআই ব্যবহার করে নেটিভ সম্পদের স্টাইল কাস্টমাইজ করতে পারেন।
এই নির্দেশিকাটি দেখায় যে কীভাবে ডার্ট এপিআই ব্যবহার করে অন্তর্নিহিত প্ল্যাটফর্ম ভিউগুলিকে স্টাইলাইজ করতে হয় এবং বিজ্ঞাপন রেন্ডার করতে হয়।
পূর্বশর্ত
- ফ্লাটার ২.৪.০ বা তার বেশি।
- শুরু করুন নির্দেশিকাটি সম্পূর্ণ করুন।
- নেটিভ বিজ্ঞাপনের বিকল্পগুলির সাথে নিজেকে পরিচিত করুন।
সর্বদা পরীক্ষামূলক বিজ্ঞাপন দিয়ে পরীক্ষা করুন
আপনার অ্যাপ তৈরি এবং পরীক্ষা করার সময়, লাইভ, প্রোডাকশন বিজ্ঞাপনের পরিবর্তে পরীক্ষামূলক বিজ্ঞাপন ব্যবহার করুন। পরীক্ষামূলক বিজ্ঞাপন লোড করার সবচেয়ে সহজ উপায় হল নেটিভ বিজ্ঞাপনের জন্য আমাদের ডেডিকেটেড পরীক্ষামূলক বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা:
অ্যান্ড্রয়েড
ca-app-pub-3940256099942544/2247696110
আইওএস
ca-app-pub-3940256099942544/3986624511
পরীক্ষামূলক বিজ্ঞাপন ইউনিটগুলি প্রতিটি অনুরোধের জন্য পরীক্ষামূলক বিজ্ঞাপন ফেরত দেওয়ার জন্য কনফিগার করা হয়েছে, যাতে আপনি কোডিং, পরীক্ষা এবং ডিবাগিংয়ের সময় আপনার নিজস্ব অ্যাপে সেগুলি ব্যবহার করতে পারেন—আপনার অ্যাপ প্রকাশ করার আগে কেবল আপনার নিজস্ব বিজ্ঞাপন ইউনিট আইডি দিয়ে সেগুলি প্রতিস্থাপন করুন।
বিজ্ঞাপন লোড করুন
নিচের উদাহরণটি medium আকারের নেটিভ টেমপ্লেট ব্যবহার করে একটি নেটিভ বিজ্ঞাপন লোড করে:
class NativeExampleState extends State<NativeExample> {
NativeAd? nativeAd;
bool _nativeAdIsLoaded = false;
// TODO: replace this test ad unit with your own ad unit.
final String _adUnitId = Platform.isAndroid
? 'ca-app-pub-3940256099942544/2247696110'
: 'ca-app-pub-3940256099942544/3986624511';
/// Loads a native ad.
void loadAd() {
_nativeAd = NativeAd(
adUnitId: _adUnitId,
listener: NativeAdListener(
onAdLoaded: (ad) {
debugPrint('$NativeAd loaded.');
setState(() {
_nativeAdIsLoaded = true;
});
},
onAdFailedToLoad: (ad, error) {
// Dispose the ad here to free resources.
debugPrint('$NativeAd failed to load: $error');
ad.dispose();
},
),
request: const AdRequest(),
// Styling
nativeTemplateStyle: NativeTemplateStyle(
// Required: Choose a template.
templateType: TemplateType.medium,
// Optional: Customize the ad's style.
mainBackgroundColor: Colors.purple,
cornerRadius: 10.0,
callToActionTextStyle: NativeTemplateTextStyle(
textColor: Colors.cyan,
backgroundColor: Colors.red,
style: NativeTemplateFontStyle.monospace,
size: 16.0),
primaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.red,
backgroundColor: Colors.cyan,
style: NativeTemplateFontStyle.italic,
size: 16.0),
secondaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.green,
backgroundColor: Colors.black,
style: NativeTemplateFontStyle.bold,
size: 16.0),
tertiaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.brown,
backgroundColor: Colors.amber,
style: NativeTemplateFontStyle.normal,
size: 16.0)))
..load();
}
}
উপলব্ধ স্টাইলিং বিকল্পগুলির জন্য NativeTemplateStyle এবং NativeTemplateTextStyle দেখুন।
বিজ্ঞাপন কাস্টমাইজ করুন
নেটিভ টেমপ্লেট ব্যবহার করে একটি নেটিভ বিজ্ঞাপন কাস্টমাইজ করার সময়, আপনার বিজ্ঞাপনের UI কনফিগারেশন NativeTemplateStyle ক্লাসে থাকবে, যা আপনাকে Dart কোডে একটি সম্পূর্ণ নেটিভ বিজ্ঞাপন স্টাইল করতে সক্ষম করবে।
টেমপ্লেটের আকার
ফ্লাটার নেটিভ বিজ্ঞাপন টেমপ্লেট দুটি ধরণের হয়: TemplateType.small এবং TemplateType.medium । ছোট টেমপ্লেটটি TableView বা GridView এর জন্য আদর্শ, ইন-ফিড বিজ্ঞাপনের জন্য অথবা যেকোনো জায়গায় যেখানে আপনার একটি পাতলা আয়তাকার বিজ্ঞাপন ভিউ প্রয়োজন। মাঝারি টেমপ্লেটটি অর্ধেক থেকে তিন-চতুর্থাংশ পৃষ্ঠা ভিউ হওয়ার জন্য তৈরি, যা ল্যান্ডিং বা স্প্ল্যাশ পৃষ্ঠাগুলির জন্য আদর্শ।
| ছোট | |
|---|---|
![]() অ্যান্ড্রয়েড | ![]() আইওএস |
| মাঝারি | |
![]() অ্যান্ড্রয়েড | ![]() আইওএস |
নেটিভ বিজ্ঞাপন ইভেন্ট
নেটিভ বিজ্ঞাপন ইন্টারঅ্যাকশন সম্পর্কিত ইভেন্ট সম্পর্কে অবহিত হতে, বিজ্ঞাপনের listener সম্পত্তি ব্যবহার করুন। তারপর, বিজ্ঞাপন ইভেন্ট কলব্যাক পেতে NativeAdListener প্রয়োগ করুন।
class NativeExampleState extends State<NativeExample> {
NativeAd? _nativeAd;
bool _nativeAdIsLoaded = false;
// TODO: replace this test ad unit with your own ad unit.
final String _adUnitId = Platform.isAndroid
? 'ca-app-pub-3940256099942544/2247696110'
: 'ca-app-pub-3940256099942544/3986624511';
/// Loads a native ad.
void loadAd() {
_nativeAd = NativeAd(
adUnitId: _adUnitId,
listener: NativeAdListener(
onAdLoaded: (ad) {
print('$NativeAd loaded.');
setState(() {
_nativeAdIsLoaded = true;
});
},
onAdFailedToLoad: (ad, error) {
// Dispose the ad here to free resources.
print('$NativeAd failedToLoad: $error');
ad.dispose();
},
// Called when a click is recorded for a NativeAd.
onAdClicked: (ad) {},
// Called when an impression occurs on the ad.
onAdImpression: (ad) {},
// Called when an ad removes an overlay that covers the screen.
onAdClosed: (ad) {},
// Called when an ad opens an overlay that covers the screen.
onAdOpened: (ad) {},
// For iOS only. Called before dismissing a full screen view
onAdWillDismissScreen: (ad) {},
// Called when an ad receives revenue value.
onPaidEvent: (ad, valueMicros, precision, currencyCode) {},
),
request: const AdRequest(),
// Styling
nativeTemplateStyle: NativeTemplateStyle(
// Required: Choose a template.
templateType: TemplateType.medium,
// Optional: Customize the ad's style.
mainBackgroundColor: Colors.purple,
cornerRadius: 10.0,
callToActionTextStyle: NativeTemplateTextStyle(
textColor: Colors.cyan,
backgroundColor: Colors.red,
style: NativeTemplateFontStyle.monospace,
size: 16.0),
primaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.red,
backgroundColor: Colors.cyan,
style: NativeTemplateFontStyle.italic,
size: 16.0),
secondaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.green,
backgroundColor: Colors.black,
style: NativeTemplateFontStyle.bold,
size: 16.0),
tertiaryTextStyle: NativeTemplateTextStyle(
textColor: Colors.brown,
backgroundColor: Colors.amber,
style: NativeTemplateFontStyle.normal,
size: 16.0)))
..load();
}
}
প্রদর্শন বিজ্ঞাপন
একটি NativeAd কে উইজেট হিসেবে প্রদর্শন করতে, আপনাকে load() কল করার পরে একটি সমর্থিত বিজ্ঞাপন দিয়ে একটি AdWidget ইনস্ট্যান্ট করতে হবে। আপনি load() কল করার আগে উইজেট তৈরি করতে পারেন, তবে উইজেট ট্রিতে যোগ করার আগে load() কল করতে হবে।
AdWidget Flutter এর Widget ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত এবং এটি অন্য যেকোনো উইজেটের মতো ব্যবহার করা যেতে পারে। iOS-এ, নিশ্চিত করুন যে আপনি উইজেটটি একটি নির্দিষ্ট প্রস্থ এবং উচ্চতা সহ একটি পাত্রে রেখেছেন। অন্যথায়, আপনার বিজ্ঞাপন প্রদর্শিত নাও হতে পারে।
// Small template
final adContainer = ConstrainedBox(
constraints: const BoxConstraints(
minWidth: 320, // minimum recommended width
minHeight: 90, // minimum recommended height
maxWidth: 400,
maxHeight: 200,
),
child: AdWidget(ad: _nativeAd!),
);
// Medium template
final adContainer = ConstrainedBox(
constraints: const BoxConstraints(
minWidth: 320, // minimum recommended width
minHeight: 320, // minimum recommended height
maxWidth: 400,
maxHeight: 400,
),
child: AdWidget(ad: _nativeAd!),
);
বিজ্ঞাপনটি বাতিল করুন
যখন NativeAd এ অ্যাক্সেসের আর প্রয়োজন হয় না, তখন তা অবশ্যই বাতিল করতে হবে। কখন dispose() কল করতে হবে তার সর্বোত্তম পদ্ধতি হল নেটিভ বিজ্ঞাপনের সাথে যুক্ত AdWidget টি উইজেট ট্রি থেকে এবং AdListener.onAdFailedToLoad() কলব্যাক থেকে সরিয়ে ফেলা।
পরবর্তী পদক্ষেপ
- আমাদের নেটিভ বিজ্ঞাপন প্লেবুকে নেটিভ বিজ্ঞাপন সম্পর্কে আরও জানুন।
- নেটিভ বিজ্ঞাপন নীতি এবং নির্দেশিকা দেখুন।
- কিছু গ্রাহক সাফল্যের গল্প দেখুন: কেস স্টাডি ১ , কেস স্টাডি ২ ।



