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.

Prasyarat

  • Menggunakan Xcode 8.0 atau versi yang lebih tinggi
  • Menargetkan iOS 8.0 atau yang lebih tinggi
  • Kode properti web penayang yang valid (mis. vert-ppa-test1-srp)
  • CocoaPods

Mengimpor SDK Native AFS

CocoaPods

Impor Google-AFSNative SDK ke dalam project iOS menggunakan CocoaPods. Buka Podfile project 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 mereka untuk mengetahui info tentang cara membuat dan menggunakan Podfile.

Ringkasan

Jika Anda melakukan upgrade dari 2.0.8 atau sebelumnya ke versi 4.0 atau yang lebih baru, lihat panduan migrasi kami.

Dokumen ini menguraikan proses untuk mengintegrasikan iklan Native AFS di aplikasi seluler iOS Anda.

GANSearchAdController

  • Konstruktor GANSearchAdController harus diberi kode properti web penayang, ID setelan yang diinginkan, dan objek GANSearchAdControllerOptions terkait.
  • Setiap panggilan ke loadAds() menunjukkan penelusuran baru, dan ini akan menyebabkan kumpulan iklan saat ini dihapus dan dibatalkan validasinya.
  • Materi iklan disimpan di GANAdView.
  • Iklan disisipkan ke dalam iklan GANAdView dengan metode populateAdView. 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. Kemudian, setiap kali adKey tersebut diteruskan lagi di masa mendatang, iklan yang sama akan ditampilkan. Misalnya, jika populateAdView dipanggil untuk pertama kalinya dengan adIdentifier "keyA", setiap panggilan berikutnya ke populateAdView sambil meneruskan "keyA" sebagai adIdentifier akan menghasilkan iklan yang sama ditampilkan.

GANAdView

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

GANSearchAdControllerOptions

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

GANSearchAdRequest

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

GANSearchAdControllerDelegate

  • Implementasikan 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"];
  }
}
...