آگهیهای بومی داراییهای آگهی هستند که ازطریق مؤلفههای واسط کاربر که بومی پلاتفرم هستند به کاربران ارائه میشوند. این عناصر بااستفاده از همان کلاسهایی که قبلاً در تابلوهای داستان استفاده میکردید نمایش داده میشوند و میتوانند قالببندی شوند تا با طراحی دیداری برنامهتان مطابقت داشته باشند.
وقتی آگهی بومی بار میشود، برنامهتان شیء آگهیای دریافت میکند که حاوی داراییهای آن است، و سپس برنامه (و نه 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.
}
روالهای مطلوب
هنگام بار کردن آگهیها، این قوانین را دنبال کنید.
برنامههایی که از آگهیهای بومی در فهرست استفاده میکنند باید فهرست آگهیها را پیشنهانسازی کنند.
هنگام پیشذخیره کردن آگهیها، حافظه نهان خود را پاک کنید و پساز یک ساعت مجدد بار کنید.
تا زمانی که درخواست قبلی بارگیری آن کامل نشده است، همانطور که با
adLoaderDidFinishLoading:نشان داده میشود، درGADAdLoaderدوباره باloadRequest:تماس نگیرید.ذخیره موقت آگهی بومی را فقط به آنچه نیاز است محدود کنید. برای مثال، هنگام پیشذخیرهسازی، فقط آگهیهایی را ذخیره کنید که بلافاصله در صفحه قابلمشاهده هستند. آگهیهای بومی ردپای حافظه بزرگی دارند و ذخیره کردن آگهیهای بومی در حافظه نهان بدون ازبین بردن آنها منجر به استفاده بیشازحد از حافظه میشود.
وقتی دیگر از آگهیهای بومی استفاده نمیشود، آنها را ازبین ببرید.
نمایش آگهی شما
پساز بار کردن آگهی، تنها کاری که باقی میماند نمایش آن به کاربران است. برای دیدن نحوه انجام این کار، به راهنمای Native Advanced ما مراجعه کنید.