iOS के लिए AFS का नेटिव लागू करने का तरीका

Google Mobile Ads SDK, कस्टम सर्च स्टाइल के साथ भी काम करता है. अगर आपके ऐप्लिकेशन में पहले से ही Google Mobile Ads SDK का इस्तेमाल किया जा रहा है, तो हमारा सुझाव है कि आप AFSMA SDK वर्शन का इस्तेमाल करें.

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

  • Xcode 8.0 या उसके बाद के वर्शन का इस्तेमाल करें
  • टारगेट iOS 8.0 या इसके बाद का वर्शन
  • एक मान्य पब्लिशर वेब प्रॉपर्टी कोड (उदाहरण के लिए, VER-ppa-test1-srp)
  • CocoaPods

AFS नेटिव SDK टूल को इंपोर्ट करें

CocoaPods

CocoaPods का इस्तेमाल करके, Google-AFSNative SDK टूल को किसी iOS प्रोजेक्ट में इंपोर्ट करें. अपने प्रोजेक्ट की Podfile खोलें और इस लाइन को अपने ऐप्लिकेशन के टारगेट में जोड़ें:

pod 'Google-AFSNative'

फिर कमांड लाइन से:

pod install --repo-update

अगर CocoaPods का इस्तेमाल पहले कभी नहीं किया गया है, तो Podfiles बनाने और उन्हें इस्तेमाल करने के तरीके के बारे में जानने के लिए, उनका आधिकारिक दस्तावेज़ देखें.

खास जानकारी

अगर आपको 2.0.8 या इससे पहले के वर्शन 4.0 या इसके बाद वाले वर्शन पर अपग्रेड करना है, तो कृपया हमारी डेटा को दूसरी जगह भेजने से जुड़ी गाइड देखें.

इस दस्तावेज़ में, आपके iOS मोबाइल ऐप्लिकेशन में AFS नेटिव विज्ञापनों को इंटिग्रेट करने की प्रोसेस के बारे में बताया गया है.

GANSearchAdController

  • GANSearchAdController कंस्ट्रक्टर को पब्लिशर की वेब प्रॉपर्टी का कोड, अपनी पसंद का सेटिंग आईडी, और उससे जुड़ा GANSearchAdControllerOptions ऑब्जेक्ट देना होगा.
  • loadAds() को किया जाने वाला हर कॉल एक नई खोज की जानकारी देता है. इससे विज्ञापनों के मौजूदा सेट खारिज हो जाएंगे और अमान्य हो जाएंगे.
  • विज्ञापन क्रिएटिव GANAdView में स्टोर किए जाते हैं.
  • विज्ञापन GANAdView में विज्ञापन, populateAdView तरीके से डाले जाते हैं. अपने-आप भरी जाने वाली GANAdView के अलावा, कॉलर adIdentifier भी देता है. यह एक आर्बिट्रेरी स्ट्रिंग है जो विज्ञापन की खास तौर पर पहचान करनी चाहिए. एपीआई में, पास किए गए हर adIdentifier को एक खास विज्ञापन असाइन किया जाता है. इसके बाद, अगर आने वाले समय में उस adKey को फिर से पास किया जाता है, तो वही विज्ञापन दिखाया जाएगा. उदाहरण के लिए, अगर adआइडेंटिफ़ायर "keyA" के साथ populateAdView को पहली बार कॉल किया गया है, तो "keyA" को adIdentifier के रूप में पास करते समय populateAdView को हर बार कॉल करने पर वही विज्ञापन दिखाया जाएगा.

GANAdView

  • यह वह यूज़र इंटरफ़ेस (यूआई) है जिसमें विज्ञापन क्रिएटिव शामिल है.
  • इस व्यू में, GANSearchAdController पर populateAdView तरीके का इस्तेमाल करके विज्ञापन डालें.

GANSearchAdControllerOptions

  • विज्ञापनों का अनुरोध कैसे किया जाता है और उन्हें कैसे दिखाया जाता है, यह बताने के लिए इस ऑब्जेक्ट को GANSearchAdController कंस्ट्रक्टर को पास करें.

GANSearchAdRequest

  • विज्ञापन अनुरोध करने के लिए, इस ऑब्जेक्ट से GANSearchAdController इंस्टेंस पर loadAds तरीके को कॉल करें.

GANSearchAdControllerDelegate

  • इस इंटरफ़ेस को लागू करें और इसे GANSearchAdController को दें, ताकि कई राज्यों के लिए कॉलबैक रजिस्टर किया जा सके.

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

नीचे दिए गए उदाहरण में, ViewController के सैंपल में विज्ञापन दिखाने के लिए, GANSearchAdController और GANView बनाना बताया गया है.

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