آگهیهای بومی داراییهای آگهی هستند که ازطریق مؤلفههای واسط کاربر که بومی پلاتفرم هستند به کاربران ارائه میشوند. این آگهیها بااستفاده از همان کلاسهایی که قبلاً در استوریبردهایتان استفاده کردهاید نشان داده میشوند و میتوان آنها را بهگونهای قالببندی کرد که با طراحی بصری برنامهتان مطابقت داشته باشند.
وقتی آگهی بومی بار میشود، برنامهتان شیء آگهیای دریافت میکند که حاوی داراییهای آن است، و سپس برنامه (و نه Google Mobile Ads SDK) مسئول نمایش آنها است.
بهطور کلی، دو بخش برای پیادهسازی موفق آگهیهای بومی وجود دارد: بار کردن آگهی بااستفاده از کیت توسعه نرمافزار و سپس نمایش محتوای آگهی در برنامه.
این صفحه نحوه استفاده از کیت توسعه نرمافزار برای بار کردن آگهیهای بومی را نشان میدهد.
پیشنیازها
پیشاز ادامه دادن، Google Mobile Ads SDK را راهاندازی کنید.
همیشه با آگهیهای آزمایشی آزمایش کنید
هنگام ساختن و آزمایش کردن برنامههایتان، مطمئن شوید که از آگهیهای آزمایشی بهجای آگهیهای زنده و تولید استفاده میکنید.
سادهترین راه برای بار کردن آگهیهای آزمایشی، استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای آگهیهای بومی در iOS است:
ca-app-pub-3940256099942544/3986624511
این واحد تبلیغات بهطور ویژه پیکربندی شده است تا برای هر درخواست، آگهیهای آزمایشی برگرداند و میتوانید از آن در برنامههای خودتان هنگام کدنویسی، آزمایش، و اشکالزدایی استفاده کنید. فقط مطمئن شوید که قبلاز انتشار برنامهتان، آن را با شناسه واحد آگهی خودتان جایگزین کنید.
برای جزئیات مربوط به Google Mobile Ads SDK آگهی آزمایشی، به فعال کردن آگهیهای آزمایشی مراجعه کنید.
بار کردن آگهیها
آگهیهای بومی با کلاس
GADAdLoader
بار میشوند که پیامها را طبق پروتکل
GADAdLoaderDelegate
به نمایندگان خود ارسال میکنند.
راهاندازی بارکننده آگهی
قبلاز اینکه بتوانید آگهی را بار کنید، باید بارکننده آگهی را مقداردهی اولیه کنید.
کد زیر نحوه مقداردهی اولیه GADAdLoader را نشان میدهد:
Swift
nativeAdUnitID را با شناسه واحد آگهیتان جایگزین کنید.
آبجکتیو-سی
kNativeAdUnitID را با شناسه واحد آگهیتان جایگزین کنید.
به شناسه واحد آگهی (میتوانید از شناسه آزمایشی استفاده کنید)، ثابتهایی برای ارسال در
آرایه adTypes برای مشخص کردن قالبهای بومیای که میخواهید درخواست کنید، و هر
گزینهای که میخواهید در پارامتر options تنظیم کنید نیاز دارید. فهرست مقادیر ممکن برای پارامتر options را میتوانید در صفحه تنظیم گزینههای آگهی بومی پیدا کنید.
آرایه adTypes باید حاوی
این ثابت باشد :
پیادهسازی نماینده بارکننده آگهی
نماینده بارکننده آگهی باید پروتکلهای مختص نوع آگهی شما را پیادهسازی کند.
برای آگهیهای بومی، پروتکل GADNativeAdLoaderDelegate شامل پیامی است
که هنگام بار شدن آگهی بومی به نماینده ارسال میشود.
Swift
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self
// TODO: Display the native ad.
}
آبجکتیو-سی
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// Set the delegate to receive notifications for interactions with the native ad.
nativeAd.delegate = self;
// TODO: Display the native ad.
}
درخواست آگهی
پساز مقداردهی اولیه GADAdLoader، روش loadRequest: آن را برای درخواست آگهی فراخوانی کنید:
Swift
adLoader.load(Request())
آبجکتیو-سی
[self.adLoader loadRequest:[GADRequest request]];
روش در
GADAdLoader
loadRequest:
همان
GADRequest
اشیا را بهعنوان برنمای آگهی و آگهی بینابینی میپذیرد. میتوانید از اشیای درخواست برای افزودن
اطلاعات هدفیابی استفاده کنید، درست همانطور که
با انواع دیگر آگهیها استفاده میکنید.
بار کردن چند آگهی (اختیاری)
برای بار کردن چند آگهی در یک درخواست، شیء
GADMultipleAdsAdLoaderOptions
را هنگام مقداردهی اولیه GADAdLoader تنظیم کنید.
Swift
آبجکتیو-سی
تعداد آگهیها در هر درخواست به پنج محدود شده است و تضمینی وجود ندارد که «کیت توسعه نرمافزار» دقیقاً تعداد آگهیهای درخواستشده را برگرداند.
همه آگهیهای Google برگشتی با یکدیگر متفاوت خواهند بود، اگرچه آگهیهای از فضای آگهی رزروشده یا خریداران طرف سوم تضمین نمیشود که یکتا باشند.
اگر از میانجیگری استفاده میکنید، از کلاس GADMultipleAdsAdLoaderOptions استفاده نکنید،
زیرا درخواستهای مربوط به چندین آگهی بومی برای شناسههای واحد آگهی که برای میانجیگری
پیکربندی شدهاند کار نمیکند.
تعیین زمان اتمام بار کردن
پساز اینکه برنامهای loadRequest: را فراخوانی کرد، میتواند نتایج درخواست را بااستفاده از
فراخوانیهای زیر دریافت کند:
-
adLoader:didFailToReceiveAdWithError:درGADAdLoaderDelegate -
adLoader:didReceiveNativeAd:درGADNativeAdLoaderDelegate
درخواست برای یک آگهی منجر به یک تماس با یکی از این روشها خواهد شد.
درخواست برای چند آگهی منجر به حداقل یک تماس برگشتی به روشهای بالا میشود، اما تعداد تماسهای برگشتی از حداکثر تعداد آگهیهای درخواستی بیشتر نخواهد بود.
علاوهبراین، GADAdLoaderDelegate adLoaderDidFinishLoading
تماس برگشتی را ارائه میدهد. این روش نماینده نشان میدهد که بارکننده آگهی بار کردن آگهیها را تمام کرده است
و آگهی یا خطای دیگری برای درخواست گزارش نخواهد شد. در اینجا مثالی از نحوه استفاده از آن هنگام بار کردن چندین آگهی بومی بهطور همزمان آورده شده است:
Swift
func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
آبجکتیو-سی
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
درخواستهای ناموفق را مدیریت کنید
این پروتکلها پروتکل GADAdLoaderDelegate را گسترش میدهند که پیامی را تعریف میکند که وقتی آگهیها بار نمیشوند ارسال میشود.
Swift
func adLoader(_ adLoader: AdLoader, didFailToReceiveAdWithError error: any Error) {
// The adLoader failed to receive an ad.
}
آبجکتیو-سی
- (void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error {
// The adLoader failed to receive an ad.
}
دریافت اعلان برای رویدادهای آگهی بومی
برای اینکه از رویدادهای مربوط به تعاملهای آگهی بومی مطلع شوید، ویژگی نماینده آگهی بومی را تنظیم کنید:
Swift
nativeAd.delegate = self
آبجکتیو-سی
nativeAd.delegate = self;
سپس
GADNativeAdDelegate
را برای دریافت تماسهای نمایندگی زیر پیادهسازی کنید:
Swift
func nativeAdDidRecordImpression(_ nativeAd: NativeAd) {
// The native ad was shown.
}
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
// The native ad was clicked on.
}
func nativeAdWillPresentScreen(_ nativeAd: NativeAd) {
// The native ad will present a full screen view.
}
func nativeAdWillDismissScreen(_ nativeAd: NativeAd) {
// The native ad will dismiss a full screen view.
}
func nativeAdDidDismissScreen(_ nativeAd: NativeAd) {
// The native ad did dismiss a full screen view.
}
func nativeAdWillLeaveApplication(_ nativeAd: NativeAd) {
// The native ad will cause the app to become inactive and
// open a new app.
}
آبجکتیو-سی
- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
// The native ad was shown.
}
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
// The native ad was clicked on.
}
- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
// The native ad will present a full screen view.
}
- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
// The native ad will dismiss a full screen view.
}
- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
// The native ad did dismiss a full screen view.
}
- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
// The native ad will cause the app to become inactive and
// open a new app.
}
روالهای مطلوب
هنگام بار کردن آگهیها، این قوانین را دنبال کنید.
برنامههایی که از آگهیهای بومی در فهرست استفاده میکنند باید فهرست آگهیها را ازقبل در حافظه نهان ذخیره کنند.
هنگام پیشذخیره کردن آگهیها، حافظه نهان خود را پاک کنید و پساز یک ساعت مجدد بار کنید.
تا زمانی که بار کردن درخواست قبلی تمام نشده است،
loadRequest:را دوباره درGADAdLoaderفراخوانی نکنید. این وضعیت باadLoaderDidFinishLoading:نشان داده میشود.ذخیره کردن آگهی بومی را فقط به موارد ضروری محدود کنید. برای مثال، هنگام پیشذخیرهسازی، فقط آگهیهایی را ذخیره کنید که بلافاصله در صفحه قابلمشاهده هستند. آگهیهای بومی ردپای حافظه بزرگی دارند و ذخیره کردن آگهیهای بومی در حافظه نهان بدون ازبین بردن آنها منجر به استفاده بیشازحد از حافظه میشود.
وقتی دیگر از آگهیهای بومی استفاده نمیشود، آنها را ازبین ببرید.
نمایش آگهی شما
پساز بار کردن آگهی، تنها کاری که باقی میماند نمایش آن به کاربران است. برای اطلاعات بیشتر، به Native advanced یا آگهیهای تمامصفحه بومی مراجعه کنید.