Penerapan Native AFS untuk iOS

Google Mobile Ads SDK juga mendukung gaya penelusuran kustom. Jika aplikasi Anda sudah menggunakan Google Mobile Ads SDK, sebaiknya gunakan Versi AFSMA SDK sebagai gantinya.

Prasyarat

  • Menggunakan Xcode 8.0 atau yang lebih baru
  • Menargetkan iOS 8.0 atau yang lebih tinggi
  • Kode properti web penayang yang valid (misalnya, vert-ppa-test1-srp)
  • CocoaPods

Mengimpor AFS Native SDK

CocoaPods

Impor Google-AFSNative SDK ke project iOS menggunakan CocoaPods. Buka Podfile dan tambahkan baris ini ke target aplikasi Anda:

pod 'Google-AFSNative'

Kemudian dari command line, jalankan:

pod install --repo-update

Jika Anda baru menggunakan CocoaPods, lihat dokumentasi resmi untuk info tentang cara membuat dan menggunakan Podfile.

Ringkasan

Jika Anda meningkatkan ke versi 4.0 atau yang lebih baru dari 2.0.8 atau yang lebih lama, lihat panduan migrasi kami.

Dokumen ini berisi penjelasan mengenai proses mengintegrasikan iklan Native AFS di aplikasi seluler iOS Anda.

GANSearchAdController

  • Konstruktor GANSearchAdController harus menyediakan kode properti web penayang, ID setelan yang diinginkan, dan ID Objek GANSearchAdControllerOptions.
  • Setiap panggilan ke loadAds() menunjukkan penelusuran baru, dan akan menyebabkan sekumpulan iklan yang akan dibuang dan dibatalkan validasinya.
  • Materi iklan disimpan di GANAdView.
  • Iklan disisipkan ke dalam iklan GANAdView dengan metode populateAdView. Di beberapa selain GANAdView yang akan diisi, pemanggil menyediakan adIdentifier, yang merupakan string arbitrer yang akan mengidentifikasi iklan secara unik. Di dalam API, iklan tertentu ditetapkan ke setiap adIdentifier yang diteruskan inc. Kemudian, setiap kali adKey tersebut diteruskan lagi di masa mendatang, iklan yang sama akan dikembalikan. Misalnya, jika populateAdView dipanggil untuk pertama kalinya dengan adIdentifier "keyA", setiap panggilan berikutnya ke populateAdView saat meneruskan "kunciA" karena adIdentifier akan menyebabkan iklan yang sama ditampilkan.

GANAdView

  • Ini adalah UIView yang berisi materi iklan.
  • Isi tampilan ini dengan iklan menggunakan metode populateAdView di GANSearchAdController.

GANSearchAdControllerOptions

  • Teruskan objek ini ke konstruktor GANSearchAdController untuk menentukan perilaku terkait cara iklan diminta dan ditampilkan.

GANSearchAdRequest

  • Panggil metode loadAds pada instance GANSearchAdController dengan metode ini untuk membuat permintaan iklan.

GANSearchAdControllerDelegate

  • Terapkan antarmuka ini dan berikan ke GANSearchAdController untuk mendaftarkan callback untuk beberapa status.

Contoh implementasi

Contoh di bawah menunjukkan pembuatan GANSearchAdController dan GANView untuk menampilkan iklan dalam contoh 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"];
  }
}
...