iOS'te Mobil Uygulamalarda AFSMA (AFSMA) Uygulaması

Ön koşullar

Bu uygulama kılavuzunda, aşağıdaki konularda bilgi sahibi olduğunuz varsayılır:

Genel Bakış

Bu dokümanda, Mobil Uygulamalar için AFS (AFSMA) reklamlarını entegre etme süreci özetlenmektedir iOS mobil uygulamanızda. AFSMA reklamları bazen dinamik olarak da adlandırılır yüksek kaliteli arama ağı reklamları. iOS'te AFSMA reklamları istemek ve oluşturmak için şunları yapmanız gerekir: şunları uygulayın:

GADSearchBannerView

  • Bu sınıf, iOS UIView sınıfından devralır ve AFSMA reklamlarını gösterir. İlgili içeriği oluşturmak için kullanılan GADSearchBannerView, aşağıdakileri içeren bir reklam isteğinde bulunur: GADDynamicHeightSearchRequest ve döndürülen reklamları oluşturur. İlgili içeriği oluşturmak için kullanılan GADSearchBannerView, uygulamanın mevcut görünümlerinden herhangi birine eklenmelidir; o genellikle ana görünüm denetleyicisidir. GADSearchBannerView eklendi. Uygun yetki verilmiş kullanıcı sayısı GADSearchBannerView.
  • GADSearchBannerView, şununla örneklenmelidir: AFSMA reklamları istemek için initWithAdSize:kGADAdSizeFluid. Örneklendirme initWithAdSize:kGADAdSizeBanner ile GADSearchBannerView eski AFSMA reklam.
  • Bu nesnedeki adUnitID özelliğinin mülk kodunuza ayarlanması gerekir.

GADDynamicHeightSearchRequest

  • Bu nesne, reklam isteği parametrelerini içerir. Bu, JavaScript reklam isteği nesnelerindeki parametreleri (sayfa seçenekleri, birim) seçenekleri) gösterilir.

(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size

  • Bu geri çağırma, reklam isteği döndüğünde çağrılır. Döndürülen reklamdan bu yana birimi, tam boyutunda farklı uzantılara sahip bir dizi reklam içerebilir. reklam biriminin bilinmeyen tüm öğeleri içermesi gerekir. Reklam, banner görünümünün yeni boyuta uyacak şekilde güncellenmesi gerekir: seçeceğim. GADSearchBannerView öğesini üst görünümünde yeniden boyutlandıracak kod uygulayabilirsiniz.

Örnek uygulama

Aşağıdaki örnekte, bir GBannerViewController kullanarak GADSearchBannerView bir UIScrollView alt görünümü olarak. AFSMA iznini doğru şekilde istemek için söz konusu olduğunda, GADSearchBannerView nesnesi 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];
  }

Aynı GBannerViewController içinde bir GADDynamicHeightSearchRequest oluşturun GADSearchView içinde oluşturulacak reklamın parametrelerini belirler.

// 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"];

Diğer özelleştirme seçenekleri Bunun için GADDynamicHeightSearchRequest nesnesini tanımlayın.

Reklam isteğinde bulunmak için GADDynamicHeightSearchRequest ile loadRequest çağrısı yapın GADSearchBannerView nesnesindeki nesneden kaçının:

[self.searchBannerView loadRequest:searchRequest];

Üst görünümün, GADSearchBannerView öğesini düzgün bir şekilde yerleştirmesini sağlamak için aşağıdaki geri çağırma uygulanmalıdır.

// 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.
  ...
}

Gelişmiş seçenekler

Reklam isteği parametrelerinin çoğu GADDynamicHeightSearchRequest nesne (yukarıda searchRequest). Diğer parametreler değeri ile anahtar/değer çiftleri kullanılarak ayarlanması gerekir: setAdvancedOptionValue yöntem:

// 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"];

Kullanılabilir parametrelerin tam listesini inceleyin.

Hataları inceleme

GADBannerViewDelegate, hataları araştırmanıza yardımcı olmak için bir geri çağırma içerir:

- (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"]);
}

Bir reklam isteği başarısız olursa, hatayı düzgün bir şekilde işlemek için bu geri çağırmayı kullanabilirsiniz ve hata nesnesi aracılığıyla hatayı araştırın.