المتطلبات الأساسية
يفترض دليل التنفيذ هذا أنّك على دراية بما يلي:
- تطوير تطبيق iOS.
- ربط حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" بمشروع iOS. نزِّل أحدث إصدار من حزمة تطوير البرامج (SDK).
نظرة عامة
يوضّح هذا المستند عملية دمج إعلانات "AdSense للبحث" في تطبيقات الأجهزة الجوّالة (AFSMA). في تطبيق الأجهزة الجوّالة لنظام التشغيل iOS. يُشار أحيانًا إلى إعلانات "AdSense لإعلانات Shopping" باسم "ديناميكية" ارتفاع الإعلانات على شبكة البحث لطلب إعلانات AFSMA وعرضها على iOS، يجب أن: تنفيذ ما يلي:
- تكتسب هذه الفئة من فئة UIView في iOS وتعرض إعلانات AFSMA. تشير رسالة الأشكال البيانية
يطلب
GADSearchBannerView
عرض إعلان يحتوي علىGADDynamicHeightSearchRequest
وتعرض الإعلانات التي تم إرجاعها. تشير رسالة الأشكال البيانية يجب إضافةGADSearchBannerView
إلى أي من الملفات الشخصية الحالية للتطبيق، فعادةً ما يكون استخدام وحدة التحكم في العرض الأصل هو عرض أن تمت إضافةGADSearchBannerView
إلى. يجب تعيين المفوَّضين المناسبين علىGADSearchBannerView
. - يجب إنشاء مثيل للسمة
GADSearchBannerView
باستخدامinitWithAdSize:kGADAdSizeFluid
لطلب إعلانات AFSMA. جارٍ إنشاء مثيل طلب "GADSearchBannerView
" الذي يتضمّنinitWithAdSize:kGADAdSizeBanner
طلب "AdSense لإعلانات Shopping" قديم الإعلانات. - يجب ضبط السمة
adUnitID
في هذا العنصر على رمز موقعك.
- يحتوي هذا العنصر على معلمات طلب الإعلان. هذا مماثل إعدادات المَعلمات في كائنات طلبات إعلان JavaScript (خيارات الصفحة والوحدة الخيارات) لـ "AdSense للبحث" على أجهزة الكمبيوتر المكتبي والويب على الأجهزة الجوّالة.
(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size
- ويتم استدعاء هذه الدالة عند عودة طلب الإعلان. نظرًا لأن الإعلان الذي تم إرجاعه
يمكن أن يحتوي وحدتك على عدد من الإعلانات بإضافات مختلفة، أي الحجم الدقيق
الوحدة الإعلانية غير معروفة عند تقديم طلب الإعلان. بمجرد أن يصبح الإعلان
يجب تحديث عرض البانر لاستيعاب الحجم الجديد
الوحدة الإعلانية. يجب أن يكون الرمز لتغيير حجم
GADSearchBannerView
في العرض الرئيسي له يمكن تنفيذها هنا.
مثال على عملية التنفيذ
يوضح المثال أدناه استخدام GBannerViewController
لإنشاء
GADSearchBannerView
كعرض فرعي لـ UIScrollView
. لطلب AFSMA بشكل صحيح
إعلانات، يجب إنشاء مثيل للعنصر GADSearchBannerView
باستخدام
initWithAdSize:kGADAdSizeFluid
// GBannerViewController.m implementation
@interface GBannerViewController () <GADAdSizeDelegate,
GADBannerViewDelegate>
@property(nonatomic, strong) GADSearchBannerView *searchBannerView;
@property(nonatomic, strong) UIScrollView *scrollView;
@end
@implementation GBannerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
....
....
// Create the banner.
self.searchBannerView = [[GADSearchBannerView alloc] initWithAdSize:kGADAdSizeFluid];
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823).
self.searchBannerView.adUnitID = @"ms-app-pub-################";
// Set the initial location and size of the banner. The initial height
// is set to 0 since we might not get an ad back.
self.searchBannerView.frame = CGRectMake(0,
0,
CGRectGetWidth(self.view.bounds),
0);
self.searchBannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
// Set the delegate properties.
self.searchBannerView.adSizeDelegate = self;
self.searchBannerView.delegate = self;
// Add the new search banner into the parent scrollView.
[self.scrollView addSubview:self.searchBannerView];
}
في GBannerViewController
نفسها، أنشئ GADDynamicHeightSearchRequest
.
تحدِّد مَعلمات الإعلان الذي سيتم عرضه في GADSearchView
.
// Create a search request and load the banner. GADDynamicHeightSearchRequest *searchRequest = [[GADDynamicHeightSearchRequest alloc] init]; // Ad request options (set using GADDynamicHeightSearchRequest properties). searchRequest.query = @"flowers"; searchRequest.numberOfAds = 2; // Replace with the ID of a style from your custom search styles [searchRequest setAdvancedOptionValue:@"0000000001" forKey:@"styleId"];
خيارات التخصيص الأخرى
من خلال ضبط خصائص إضافية على GADDynamicHeightSearchRequest
الخاص بك.
لتقديم طلب إعلان، اتّصِل بـ "loadRequest
" باستخدام GADDynamicHeightSearchRequest
.
كائن من الكائن GADSearchBannerView
:
[self.searchBannerView loadRequest:searchRequest];
لاحتواء العرض الرئيسي على GADSearchBannerView
بشكل صحيح بعد
لإرجاع الإعلانات، يجب تنفيذ معاودة الاتصال التالية.
// Callback to update the parent view height.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size {
// Update the banner view based on the ad size.
CGRect newFrame = self.searchBannerView.frame;
newFrame.size.height = size.size.height;
self.searchBannerView.frame = newFrame;
// Perform any additional logic needed due to banner view size change.
...
}
الخيارات المتقدمة
يمكن إعداد معظم معلمات طلبات الإعلان من خلال المواقع على
عنصر واحد (GADDynamicHeightSearchRequest
) (searchRequest
أعلاه). المَعلمات الأخرى
يجب ضبطها باستخدام أزواج المفتاح/القيمة مع setAdvancedOptionValue
:
// Advanced customization options (set using key-value pair).
// Set a parameter (parameter_name) and its value (parameter_value).
[searchRequest setAdvancedOptionValue:@"parameter_value"
forKey:@"parameter_name"];
// Example: Show visible URL below description (domainLinkAboveDescription: false).
[searchRequest setAdvancedOptionValue:@"false"
forKey:@"domainLinkAboveDescription"];
اطّلِع على القائمة الكاملة للمَعلمات المتاحة.
التحقيق في الأخطاء
يحتوي "GADBannerViewDelegate
" على معاودة اتصال لمساعدتك في التحقيق في الأخطاء:
- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {
// This callback is triggered when the ad request fails.
// Add code here to debug the error object to discover causes of failure
NSLog(@"Ad call failed due to %@", error.userInfo[@"NSUnderlyingError"]);
}
إذا تعذّر طلب الإعلان، يمكنك استخدام رد الاتصال هذا للتعامل مع الخطأ بشكل صحيح. ونتحقق من الخطأ من خلال كائن الخطأ.