تبلیغات بومی، داراییهای تبلیغاتی هستند که از طریق اجزای رابط کاربری بومی پلتفرم به کاربران ارائه میشوند. آنها با استفاده از همان کلاسهایی که قبلاً در استوریبوردهای خود استفاده میکنید، نمایش داده میشوند و میتوانند برای مطابقت با طراحی بصری برنامه شما قالببندی شوند.
وقتی یک تبلیغ بومی بارگذاری میشود، برنامه شما یک شیء تبلیغ دریافت میکند که شامل داراییهای آن است و برنامه - به جای Google Mobile Ads SDK - مسئول نمایش آنها است.
به طور کلی، دو بخش برای اجرای موفقیتآمیز تبلیغات بومی وجود دارد: بارگذاری یک تبلیغ با استفاده از SDK و سپس نمایش محتوای تبلیغ در برنامه شما.
این صفحه نحوه استفاده از SDK برای بارگذاری تبلیغات بومی را نشان میدهد. هنگام ساخت و آزمایش برنامههای خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده میکنید. سادهترین راه برای بارگذاری تبلیغات آزمایشی، استفاده از شناسه واحد تبلیغاتی آزمایشی اختصاصی ما برای تبلیغات بومی در iOS است: این ابزار به طور ویژه برای برگرداندن تبلیغات آزمایشی برای هر درخواست پیکربندی شده است و میتوانید از آن در برنامههای خود هنگام کدنویسی، آزمایش و اشکالزدایی استفاده کنید. فقط قبل از انتشار برنامه، مطمئن شوید که آن را با شناسه واحد تبلیغاتی خود جایگزین میکنید. برای جزئیات بیشتر در مورد تبلیغات آزمایشی Google Mobile Ads SDK ، به فعال کردن تبلیغات آزمایشی مراجعه کنید. تبلیغات بومی با کلاس قبل از اینکه بتوانید یک تبلیغ را بارگذاری کنید، باید بارگذاریکنندهی تبلیغ را مقداردهی اولیه کنید. کد زیر نحوهی مقداردهی اولیهی یک nativeAdUnitID را با شناسه واحد تبلیغاتی خود جایگزین کنید. به جای kNativeAdUnitID ، شناسه واحد تبلیغاتی خود را وارد کنید. شما به یک شناسه واحد تبلیغ (میتوانید از شناسه آزمایشی استفاده کنید)، ثابتهایی برای ارسال در آرایه آرایه نمایندهی بارگذاری تبلیغات باید پروتکلهای مخصوص نوع تبلیغ شما را پیادهسازی کند. برای تبلیغات بومی، پروتکل پس از مقداردهی اولیه متد برای بارگذاری چندین تبلیغ در یک درخواست واحد، هنگام مقداردهی اولیه تعداد تبلیغات در هر درخواست به پنج عدد محدود شده است و تضمینی وجود ندارد که SDK تعداد دقیق تبلیغات درخواستی را برگرداند. تبلیغات گوگل برگشتی همگی با یکدیگر متفاوت خواهند بود، اگرچه تضمینی وجود ندارد که تبلیغات از موجودی رزرو شده یا خریداران شخص ثالث منحصر به فرد باشند. اگر از میانجیگری استفاده میکنید، از کلاس پس از اینکه یک برنامه تابع درخواست یک تبلیغ واحد منجر به یک تماس با یکی از این روشها خواهد شد. درخواست چندین تبلیغ منجر به حداقل یک فراخوانی مجدد به روشهای فوق خواهد شد، اما نه بیشتر از حداکثر تعداد تبلیغات درخواستی. علاوه بر این، این پروتکلها، پروتکل برای اطلاع از رویدادهای مربوط به تعاملات تبلیغات بومی، ویژگی delegate مربوط به تبلیغ بومی را تنظیم کنید: سپس هنگام بارگذاری تبلیغات، این قوانین را رعایت کنید. برنامههایی که از تبلیغات بومی در یک لیست استفاده میکنند، باید لیست تبلیغات را از قبل در حافظه پنهان (cache) ذخیره کنند. هنگام پیشذخیرهسازی تبلیغات، حافظه پنهان (cache) خود را پاک کنید و پس از یک ساعت دوباره بارگذاری کنید. تابع ذخیره تبلیغات بومی را فقط به موارد مورد نیاز محدود کنید. برای مثال، هنگام پیشذخیرهسازی، فقط تبلیغاتی را که بلافاصله روی صفحه نمایش قابل مشاهده هستند، ذخیره کنید. تبلیغات بومی فضای زیادی از حافظه را اشغال میکنند و ذخیره تبلیغات بومی بدون از بین بردن آنها منجر به استفاده بیش از حد از حافظه میشود. وقتی دیگر از تبلیغات بومی استفاده نمیکنید، آنها را از بین ببرید. پس از بارگذاری یک تبلیغ، تنها کاری که باقی میماند نمایش آن به کاربران است. برای آشنایی با نحوهی نمایش آن، به راهنمای پیشرفتهی بومی ما مراجعه کنید.ca-app-pub-3940256099942544/3986624511GADAdLoader بارگذاری میشوند که طبق پروتکل GADAdLoaderDelegate پیامهایی را به نمایندگان خود ارسال میکند.GADAdLoader را نشان میدهد: adTypes جهت مشخص کردن فرمتهای بومی که میخواهید درخواست کنید، و هر گزینهای که میخواهید در پارامتر options تنظیم کنید، نیاز دارید. لیست مقادیر ممکن برای پارامتر options را میتوانید در صفحه «تنظیمات گزینههای بومی تبلیغ» بیابید.adTypes باید شامل این ثابت باشد:GADNativeAdLoaderDelegate شامل پیامی است که هنگام بارگذاری یک تبلیغ بومی به نماینده ارسال میشود. 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: آن را برای درخواست یک تبلیغ فراخوانی کنید: adLoader.load(Request())
[self.adLoader loadRequest:[GADRequest request]];
loadRequest: در GADAdLoader همان اشیاء GADRequest را به عنوان بنرها و تبلیغات بینابینی میپذیرد. میتوانید از اشیاء request برای افزودن اطلاعات هدفگیری استفاده کنید، درست مانند سایر انواع تبلیغات.GADAdLoader شیء GADMultipleAdsAdLoaderOptions را تنظیم کنید. GADMultipleAdsAdLoaderOptions استفاده نکنید، زیرا درخواستهای مربوط به چندین تبلیغ بومی برای شناسههای واحد تبلیغاتی که برای میانجیگری پیکربندی شدهاند، کار نمیکنند.loadRequest: را فراخوانی میکند، میتواند نتایج درخواست را با استفاده از فراخوانیهای زیر دریافت کند:adLoader:didFailToReceiveAdWithError: در GADAdLoaderDelegateadLoader:didReceiveNativeAd: در GADNativeAdLoaderDelegateGADAdLoaderDelegate تابع فراخوانی adLoaderDidFinishLoading را ارائه میدهد. این متد delegate نشان میدهد که یک ad loader بارگذاری تبلیغات را به پایان رسانده و هیچ تبلیغ یا خطای دیگری برای درخواست گزارش نخواهد شد. در اینجا مثالی از نحوه استفاده از آن هنگام بارگذاری چندین تبلیغ native به طور همزمان آورده شده است: func adLoaderDidFinishLoading(_ adLoader: AdLoader) {
// The adLoader has finished loading ads.
}
- (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader {
// The adLoader has finished loading ads.
}
GADAdLoaderDelegate را بسط میدهند که پیامی را تعریف میکند که هنگام عدم بارگذاری تبلیغات ارسال میشود. 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.
}
nativeAd.delegate = self
nativeAd.delegate = self;
GADNativeAdDelegate برای دریافت فراخوانیهای delegate زیر پیادهسازی کنید: 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: نشان داده شده است.