นอกจากนี้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ยังรองรับสไตล์โฆษณาที่กำหนดเองในเครือข่ายการค้นหาอีกด้วย หากแอปของคุณ ใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google อยู่แล้ว เราขอแนะนำให้ใช้ เวอร์ชัน AFSMA SDK แทน
ข้อกำหนดเบื้องต้น
- ใช้ Xcode 8.0 ขึ้นไป
- กำหนดเป้าหมาย iOS 8.0 ขึ้นไป
- รหัสเว็บพร็อพเพอร์ตี้ของผู้เผยแพร่โฆษณาที่ถูกต้อง (เช่น vert-ppa-test1-srp)
- CocoaPods
นำเข้า SDK เนทีฟของ AFS
CocoaPods
นำเข้า Google-AFSNative SDK ลงในโปรเจ็กต์ iOS โดยใช้ CocoaPods เปิด Podfile และเพิ่มบรรทัดนี้ลงในเป้าหมายของแอป:
pod 'Google-AFSNative'
จากนั้นให้เรียกใช้คำสั่งดังนี้
pod install --repo-update
หากคุณเพิ่งเคยใช้ CocoaPods โปรดดู เอกสารอย่างเป็นทางการเพื่อดูข้อมูล เกี่ยวกับวิธีสร้างและใช้ Podfiles
ภาพรวม
หากคุณกำลังอัปเกรดเป็นรุ่น 4.0 หรือใหม่กว่าจาก 2.0.8 หรือเก่ากว่า โปรดดูที่ คำแนะนำในการย้ายข้อมูล
เอกสารนี้สรุปกระบวนการผสานรวมโฆษณาเนทีฟ AFS ในแอปบนอุปกรณ์เคลื่อนที่ iOS
- ตัวสร้าง
GANSearchAdController
จำเป็นต้องมีฟิลด์ รหัสเว็บพร็อพเพอร์ตี้ของผู้เผยแพร่โฆษณา รหัสการตั้งค่าที่ต้องการและGANSearchAdControllerOptions
ออบเจ็กต์ - การเรียกไปยัง
loadAds()
แต่ละครั้งหมายถึงการค้นหาใหม่ และจะทำให้เกิดการค้นหาปัจจุบัน โฆษณาอีกชุดที่จะยกเลิกและใช้งานไม่ได้ - ครีเอทีฟโฆษณาจัดเก็บอยู่ใน
GANAdView
- ระบบจะแทรกโฆษณาลงในโฆษณา
GANAdView
โดยใช้เมธอดpopulateAdView
ใน นอกเหนือจากGANAdView
ที่จะเติม ผู้โทรจะระบุadIdentifier
ซึ่งเป็นสตริงที่กำหนดเองที่ควรใช้ระบุโฆษณาได้โดยไม่ซ้ำกัน ใน API จะมีการกำหนดโฆษณาที่เฉพาะเจาะจงให้กับ adIdentifier แต่ละรายการที่ส่งผ่าน นิ้ว จากนั้น เมื่อใดก็ตามที่ adKey ถูกส่งอีกครั้งในอนาคต โฆษณาเดิม ส่งคืนแล้ว ตัวอย่างเช่น หากมีการเรียกpopulateAdView
เป็นครั้งแรกด้วย adIdentifier "keyA" การเรียกครั้งต่อๆ ไปไปยังpopulateAdView
ขณะส่ง "คีย์A" เนื่องจากadIdentifier
จะส่งผลให้มีการแสดงโฆษณาเดียวกัน
- ซึ่งจะเป็น UIView ที่มีครีเอทีฟโฆษณานั้น
- สร้างมุมมองนี้ด้วยโฆษณาโดยใช้เมธอด
populateAdView
ในGANSearchAdController
- ส่งออบเจ็กต์นี้ไปยังตัวสร้าง
GANSearchAdController
เพื่อระบุ การทำงานของวิธีขอและแสดงโฆษณา
- เรียกใช้เมธอด
loadAds
บนอินสแตนซ์GANSearchAdController
ด้วยเมธอดนี้ เพื่อสร้างคำขอโฆษณา
- ใช้อินเทอร์เฟซนี้และส่งให้
GANSearchAdController
เพื่อ ลงทะเบียน Callback สำหรับหลายๆ รัฐ
ตัวอย่างการใช้งาน
ตัวอย่างด้านล่างแสดงการสร้าง 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"];
}
}
...