iOS के लिए मोबाइल ऐप्लिकेशन (AFSMA) लागू करने के लिए AFS

ज़रूरी शर्तें

इस गाइड में यह माना गया है कि आपको इनकी जानकारी है:

खास जानकारी

इस दस्तावेज़ में, आपके iOS मोबाइल ऐप्लिकेशन में मोबाइल ऐप्लिकेशन (AFSMA) के लिए AFS विज्ञापनों को इंटिग्रेट करने की प्रक्रिया बताई गई है. AFSMA विज्ञापनों को कभी-कभी डाइनैमिक ऊंचाई वाले सर्च विज्ञापन भी कहा जाता है. iOS पर AFSMA विज्ञापनों का अनुरोध करने और उन्हें रेंडर करने के लिए, आपको इन्हें लागू करना होगा:

GADSearchBannerView

  • यह क्लास, iOS UIView क्लास से इनहेरिट करती है और AFSMA विज्ञापन दिखाती है. GADSearchBannerView, GADDynamicHeightSearchRequest वाले विज्ञापन के लिए अनुरोध करता है और दिखाए गए विज्ञापनों को रेंडर करता है. GADSearchBannerView को ऐप्लिकेशन के किसी भी मौजूदा व्यू में जोड़ा जाना चाहिए. आम तौर पर, यह पैरंट व्यू कंट्रोलर होता है, जिसमें GADSearchBannerView को जोड़ा गया व्यू होता है. सही लोगों को GADSearchBannerView पर सेट किया जाना चाहिए.
  • AFSMA विज्ञापनों का अनुरोध करने के लिए, GADSearchBannerView को initWithAdSize:kGADAdSizeFluid के साथ इंस्टैंशिएट किया जाना चाहिए. लेगसी AFSMA विज्ञापनों के लिए, initWithAdSize:kGADAdSizeBanner अनुरोधों के साथ GADSearchBannerView को इंस्टैंशिएट किया जा रहा है.
  • इस ऑब्जेक्ट की adUnitID प्रॉपर्टी को, आपके प्रॉपर्टी कोड पर सेट करना ज़रूरी है.

GADDynamicHeightSearchRequest

  • यह ऑब्जेक्ट, विज्ञापन अनुरोध के पैरामीटर को इकट्ठा करता है. यह AFS डेस्कटॉप और मोबाइल वेब के लिए, JavaScript विज्ञापन अनुरोध ऑब्जेक्ट (पेज के विकल्प, यूनिट विकल्प) में पैरामीटर सेट करने के जैसा है.

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

  • इस कॉलबैक को तब कॉल किया जाता है, जब विज्ञापन अनुरोध वापस आता है. दिखाए गए विज्ञापन यूनिट में अलग-अलग एक्सटेंशन वाले कई विज्ञापन हो सकते हैं, इसलिए विज्ञापन अनुरोध करने पर विज्ञापन यूनिट के साइज़ की सटीक जानकारी नहीं होती. विज्ञापन दिखाने के बाद, बैनर व्यू को विज्ञापन यूनिट के नए साइज़ के हिसाब से अपडेट करना पड़ता है. GADSearchBannerView के पैरंट व्यू में, उसका साइज़ बदलने वाला कोड यहां लागू किया जाना चाहिए.

लागू करने का उदाहरण

नीचे दिए गए उदाहरण में, UIScrollView के सबव्यू के तौर पर GADSearchBannerView बनाने के लिए, GBannerViewController का इस्तेमाल करने के बारे में बताया गया है. AFSMA विज्ञापनों का सही तरीके से अनुरोध करने के लिए, GADSearchBannerView ऑब्जेक्ट को 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];
  }

उसी GBannerViewController में, GADSearchView में रेंडर किए जाने वाले विज्ञापन के पैरामीटर के बारे में बताने वाला GADDynamicHeightSearchRequest बनाएं.

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

पसंद के मुताबिक बनाए जाने वाले अन्य विकल्प, GADDynamicHeightSearchRequestऑब्जेक्ट पर अतिरिक्त प्रॉपर्टी सेट करके किए जा सकते हैं.

विज्ञापन अनुरोध करने के लिए, GADSearchBannerView ऑब्जेक्ट से GADDynamicHeightSearchRequest ऑब्जेक्ट के साथ loadRequest को कॉल करें:

[self.searchBannerView loadRequest:searchRequest];

विज्ञापनों के वापस आने पर पैरंट व्यू को सही तरीके से GADSearchBannerView में दिखाने के लिए, नीचे दिया गया कॉलबैक लागू करना ज़रूरी है.

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

बेहतर विकल्प

विज्ञापन अनुरोध के ज़्यादातर पैरामीटर, प्रॉपर्टी के ज़रिए GADDynamicHeightSearchRequest ऑब्जेक्ट (ऊपर searchRequest) पर सेट किए जा सकते हैं. अन्य पैरामीटर को setAdvancedOptionValue तरीके के साथ की-वैल्यू पेयर का इस्तेमाल करके सेट करना होगा:

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

उपलब्ध पैरामीटर की पूरी सूची देखें.

गड़बड़ियों की जांच करना

गड़बड़ियों की जांच करने में आपकी मदद के लिए, GADBannerViewDelegate में एक कॉलबैक शामिल होता है:

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

अगर कोई विज्ञापन अनुरोध फ़ेल हो जाता है, तो इस कॉलबैक का इस्तेमाल करके, गड़बड़ी को ठीक से हैंडल किया जा सकता है. साथ ही, गड़बड़ी ऑब्जेक्ट के ज़रिए गड़बड़ी की जांच की जा सकती है.