تبلیغات بومی، داراییهای تبلیغاتی هستند که از طریق اجزای رابط کاربری بومی پلتفرم به کاربران ارائه میشوند. آنها با استفاده از همان کلاسهایی که قبلاً در استوریبوردهای خود استفاده میکنید، نمایش داده میشوند و میتوانند برای مطابقت با طراحی بصری برنامه شما قالببندی شوند.
وقتی یک تبلیغ بومی بارگذاری میشود، برنامه شما یک شیء تبلیغ دریافت میکند که شامل داراییهای آن است و برنامه - به جای SDK تبلیغات موبایلی گوگل - مسئول نمایش آنها است.
به طور کلی، دو بخش برای اجرای موفقیتآمیز تبلیغات بومی وجود دارد: بارگذاری یک تبلیغ با استفاده از SDK و سپس نمایش محتوای تبلیغ در برنامه شما.
این صفحه نحوه استفاده از SDK برای بارگذاری تبلیغات بومی را نشان میدهد.
پیشنیازها
- راهنمای شروع به کار را تکمیل کنید.
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامههای خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده میکنید.
سادهترین راه برای بارگذاری تبلیغات آزمایشی، استفاده از شناسه واحد تبلیغاتی آزمایشی اختصاصی ما برای تبلیغات بومی در iOS است:
ca-app-pub-3940256099942544/3986624511
این ابزار به طور ویژه برای برگرداندن تبلیغات آزمایشی برای هر درخواست پیکربندی شده است و میتوانید از آن در برنامههای خود هنگام کدنویسی، آزمایش و اشکالزدایی استفاده کنید. فقط قبل از انتشار برنامه، مطمئن شوید که آن را با شناسه واحد تبلیغاتی خود جایگزین میکنید.
برای جزئیات بیشتر در مورد تبلیغات آزمایشی SDK تبلیغات موبایل گوگل، به فعال کردن تبلیغات آزمایشی مراجعه کنید.
بارگذاری تبلیغات
تبلیغات بومی با کلاس GADAdLoader بارگذاری میشوند که طبق پروتکل GADAdLoaderDelegate پیامهایی را به نمایندگان خود ارسال میکند.
مقداردهی اولیهی بارگذاریکنندهی تبلیغات
قبل از اینکه بتوانید یک تبلیغ را بارگذاری کنید، باید بارگذاریکنندهی تبلیغ را مقداردهی اولیه کنید. کد زیر نحوهی مقداردهی اولیهی یک GADAdLoader را نشان میدهد:
سویفت
nativeAdUnitID را با شناسه واحد تبلیغاتی خود جایگزین کنید.
هدف-سی
به جای kNativeAdUnitID ، شناسه واحد تبلیغاتی خود را وارد کنید.
شما به یک شناسه واحد تبلیغ (میتوانید از شناسه آزمایشی استفاده کنید)، ثابتهایی برای ارسال در آرایه adTypes جهت مشخص کردن فرمتهای بومی که میخواهید درخواست کنید، و هر گزینهای که میخواهید در پارامتر options تنظیم کنید، نیاز دارید. لیست مقادیر ممکن برای پارامتر options را میتوانید در صفحه «تنظیمات گزینههای بومی تبلیغ» بیابید.
آرایه adTypes باید شامل این ثابت باشد:
پیادهسازی نمایندهی بارگذاری تبلیغات
نمایندهی بارگذاری تبلیغات باید پروتکلهای مخصوص نوع تبلیغ شما را پیادهسازی کند. برای تبلیغات بومی، پروتکل GADNativeAdLoaderDelegate شامل پیامی است که هنگام بارگذاری یک تبلیغ بومی به نماینده ارسال میشود.
سویفت
func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
// To be notified of events related to the native ad interactions, set the delegate property
// of the native ad
nativeAd.delegate = self
// TODO: Display the native ad.
}
هدف-سی
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {
// To be notified of events related to the native ad interactions, set the delegate property
// of 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 را تنظیم کنید.
سویفت
هدف-سی
تعداد تبلیغات در هر درخواست به پنج عدد محدود شده است و تضمینی وجود ندارد که SDK تعداد دقیق تبلیغات درخواستی را برگرداند.
تبلیغات گوگل برگشتی همگی با یکدیگر متفاوت خواهند بود، اگرچه تضمینی وجود ندارد که تبلیغات از موجودی رزرو شده یا خریداران شخص ثالث منحصر به فرد باشند.
اگر از میانجیگری استفاده میکنید، از کلاس GADMultipleAdsAdLoaderOptions استفاده نکنید، زیرا درخواستهای مربوط به چندین تبلیغ بومی برای شناسههای واحد تبلیغاتی که برای میانجیگری پیکربندی شدهاند، کار نمیکنند.
تعیین زمان اتمام بارگذاری
پس از اینکه یک برنامه تابع loadRequest: را فراخوانی میکند، میتواند نتایج درخواست را با استفاده از فراخوانیهای زیر دریافت کند:
-
adLoader:didFailToReceiveAdWithError:درGADAdLoaderDelegate -
adLoader:didReceiveNativeAd:درGADNativeAdLoaderDelegate
درخواست یک تبلیغ واحد منجر به یک تماس با یکی از این روشها خواهد شد.
درخواست چندین تبلیغ منجر به حداقل یک فراخوانی مجدد به روشهای فوق خواهد شد، اما نه بیشتر از حداکثر تعداد تبلیغات درخواستی.
علاوه بر این، GADAdLoaderDelegate تابع فراخوانی 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.
}
از رویدادهای تبلیغات بومی مطلع شوید
برای اطلاع از رویدادهای مربوط به تعاملات تبلیغات بومی، ویژگی delegate مربوط به تبلیغ بومی را تنظیم کنید:
سویفت
// Set the delegate before making an ad request.
adLoader.delegate = self
هدف-سی
// Set the delegate before making an ad request.
self.adLoader.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.
}
بهترین شیوهها
هنگام بارگذاری تبلیغات، این قوانین را رعایت کنید.
برنامههایی که از تبلیغات بومی در یک لیست استفاده میکنند، باید لیست تبلیغات را از قبل در حافظه پنهان (cache) ذخیره کنند.
هنگام پیشذخیرهسازی تبلیغات، حافظه پنهان (cache) خود را پاک کنید و پس از یک ساعت دوباره بارگذاری کنید.
تابع
loadRequest:را دوباره روی یکGADAdLoaderفراخوانی نکنید تا زمانی که بارگذاری درخواست قبلی به پایان برسد، همانطور که درadLoaderDidFinishLoading:نشان داده شده است.ذخیره تبلیغات بومی را فقط به موارد مورد نیاز محدود کنید. برای مثال، هنگام پیشذخیرهسازی، فقط تبلیغاتی را که بلافاصله روی صفحه نمایش قابل مشاهده هستند، ذخیره کنید. تبلیغات بومی فضای زیادی از حافظه را اشغال میکنند و ذخیره تبلیغات بومی بدون از بین بردن آنها منجر به استفاده بیش از حد از حافظه میشود.
وقتی دیگر از تبلیغات بومی استفاده نمیکنید، آنها را از بین ببرید.
تبلیغ خود را نمایش دهید
پس از بارگذاری یک تبلیغ، تنها کاری که باقی میماند نمایش آن به کاربران است. برای آشنایی با نحوهی نمایش آن، به راهنمای پیشرفتهی بومی ما مراجعه کنید.