تتوافق حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" أيضًا مع أنماط البحث المخصّصة. إذا كان تطبيقك حزمة SDK لإعلانات Google على الأجهزة الجوّالة، نقترح استخدام إصدار حزمة تطوير البرامج (SDK) الخاصة بخدمة "AdSense لإعلانات Shopping" بدلاً من ذلك.
المتطلبات الأساسية
- استخدام Xcode 8.0 أو إصدار أحدث
- استهداف إصدار iOS 8.0 أو الإصدارات الأحدث
- رمز موقع إلكتروني صالح للناشر (مثل vert-ppa-test1-srp)
- CocoaPods
استيراد حزمة تطوير البرامج (SDK) للإعلانات المدمجة مع المحتوى في "AdSense للبحث"
CocoaPods
استيراد حزمة تطوير البرامج (SDK) الخاصة بخدمة "AdSense لإعلانات Shopping" من Google إلى مشروع iOS باستخدام CocoaPods. افتح قائمة مشروعاتك Podfile وإضافة هذا السطر إلى هدف تطبيقك:
pod 'Google-AFSNative'
ثم من تشغيل سطر الأوامر:
pod install --repo-update
إذا كنت مستخدمًا جديدًا لـ CocoaPods، يُرجى الاطّلاع على مستندات رسمية للحصول على معلومات حول كيفية إنشاء ملفات Podfiles واستخدامها.
نظرة عامة
إذا كنت بصدد الترقية إلى الإصدار 4.0 أو إصدار أحدث من 2.0.8 أو أي إصدار سابق، يُرجى مراجعة دليل نقل البيانات
يوضّح هذا المستند عملية دمج الإعلانات المدمجة مع المحتوى في "AdSense للبحث" في تطبيق الأجهزة الجوّالة لنظام التشغيل iOS.
- يجب توفير الدالة الإنشائية
GANSearchAdController
رمز الموقع الإلكتروني للناشر، ومعرّف الإعدادات المطلوبة، والمرتبطة كائنGANSearchAdControllerOptions
. - تشير كل استدعاء إلى
loadAds()
إلى عملية بحث جديدة، وسينتج عن ذلك إجراء مجموعة من الإعلانات التي سيتم تجاهلها وإبطال صلاحيتها. - يتم تخزين تصاميم الإعلانات في
GANAdView
. - يتم إدراج الإعلانات في الإعلان
GANAdView
باستخدام الطريقةpopulateAdView
. ضِمن بالإضافة إلىGANAdView
التي ستتم تعبئتها، سيقدّم المتصلadIdentifier
، وهي سلسلة عشوائية يجب أن تحدّد الإعلان بشكل فريد. داخل واجهة برمجة التطبيقات، يتمّ تخصيص إعلان معيّن لكلّ سمة adIdentifier يتم تمريره بوصة وعند إعادة تمرير مفتاح الإعلان هذا في المستقبل، سيتم عرض الإعلان نفسه عاد. على سبيل المثال، إذا تم استدعاءpopulateAdView
لأول مرة مع adIdentifier "keyA"، كل استدعاء لاحق إلىpopulateAdView
أثناء التمرير "keyA" لأنّadIdentifier
سيؤدي إلى عرض الإعلان نفسه.
- هذا هو UIView الذي يحتوي على تصميم الإعلان.
- تعبئة طريقة العرض هذه بإعلان باستخدام الطريقة
populateAdView
علىGANSearchAdController
- نقْل هذا الكائن إلى الدالة الإنشائية
GANSearchAdController
لتحديد السلوك المتعلقة بطريقة طلب الإعلانات وعرضها
- يجب استدعاء الطريقة
loadAds
على المثيلGANSearchAdController
باستخدام ما يلي: الاعتراض على تقديم طلب إعلان.
- نفِّذ هذه الواجهة وقدِّمها إلى "
GANSearchAdController
" من أجل تسجيل عمليات معاودة الاتصال لعدة ولايات.
مثال على عملية التنفيذ
يوضّح المثال التالي إنشاء GANSearchAdController
وGANView
لعرض إعلان في نموذج ViewController
.
// SampleAppViewController.m implementation
#import <AFSNative/AFSNative.h>
@interface GBannerViewController () {
// The Ad Controller used by the sample application.
GANSearchAdController *_adController;
// The Ad View to display the loaded ad.
GANAdView *_adView;
}
// scrollView will be where we place our ads in this example.
@property(nonatomic, strong) UIScrollView *scrollView;
@end
...
- (void)viewDidLoad {
[super viewDidLoad];
// Create the scroll view.
...
[self.view addSubview:scrollView];
// Create a test button and link the ad request to its action.
UIButton *loadBannerButton = [UIButton buttonWithType:UIButtonTypeCustom];
...
[loadBannerButton addTarget:self
action:@selector(loadAd:)
forControlEvents:UIControlEventTouchUpInside];
[self.scrollView addSubview:loadBannerButton];
// Construct the Ad Controller.
GANSearchAdControllerOptions *options = [[GANSearchAdControllerOptions alloc] init];
options.prefetchEnabled = YES;
options.adType = GANSearchAdTypeSPA;
options.adFetchCount = 3;
_adController = [[GANSearchAdController alloc]
initWithPublisherID: @"your-client-id"
styleID: @"your-settings-id"
options: options
delegate: self];
_adView = [_adController adView];
[self.scrollView addSubview:_adView];
}
// Request ads when the test button is pressed.
- (void)loadAd:(id)sender {
// Construct the Ad Request.
GANSearchAdRequest *adRequest = [[GANSearchAdRequest alloc] init];
adRequest.query = @"some-query";
// Start loading ads. Note that the loading is asynchronous.
[_adController loadAds: adRequest];
}
// Insert ads into GANAdView if the request returns successfully.
- (void)searchAdController:(GANSearchAdController *)adController
didLoadAds:(NSInteger)numberOfAds {
if (numberOfAds <= 0) {
NSLog(@"No ads found on the server");
} else {
[_adController populateAdView:_adView identifier:@"demoAd"];
}
}
...