iOS এর জন্য AFS নেটিভ ইমপ্লিমেন্টেশন

Google মোবাইল বিজ্ঞাপন SDK এছাড়াও কাস্টম অনুসন্ধান শৈলী সমর্থন করে। যদি আপনার অ্যাপ ইতিমধ্যেই Google মোবাইল বিজ্ঞাপন SDK ব্যবহার করে থাকে, তাহলে আমরা আপনাকে পরিবর্তে AFSMA SDK সংস্করণ ব্যবহার করার পরামর্শ দিই।

পূর্বশর্ত

  • Xcode 8.0 বা উচ্চতর ব্যবহার করুন
  • লক্ষ্য iOS 8.0 বা উচ্চতর
  • একটি বৈধ প্রকাশক ওয়েব সম্পত্তি কোড (যেমন vert-ppa-test1-srp)
  • কোকোপডস

AFS নেটিভ SDK আমদানি করুন

কোকোপডস

CocoaPods ব্যবহার করে একটি iOS প্রকল্পে Google-AFSNative SDK আমদানি করুন। আপনার প্রকল্পের Podfile খুলুন এবং আপনার অ্যাপের লক্ষ্যে এই লাইন যোগ করুন:

pod 'Google-AFSNative'

তারপর কমান্ড লাইন থেকে রান করুন:

pod install --repo-update

আপনি যদি CocoaPods-এ নতুন হয়ে থাকেন, তাহলে কীভাবে Podfiles তৈরি এবং ব্যবহার করবেন সে সম্পর্কে তথ্যের জন্য তাদের অফিসিয়াল ডকুমেন্টেশন দেখুন।

ওভারভিউ

আপনি যদি 2.0.8 বা তার আগের সংস্করণ 4.0 বা তার পরবর্তী সংস্করণে আপগ্রেড করছেন, অনুগ্রহ করে আমাদের মাইগ্রেশন গাইড দেখুন৷

এই নথিটি আপনার iOS মোবাইল অ্যাপে AFS নেটিভ বিজ্ঞাপনগুলিকে সংহত করার প্রক্রিয়ার রূপরেখা দেয়৷

GANSearchAdController

  • GANSearchAdController কনস্ট্রাক্টরকে প্রকাশকের ওয়েব সম্পত্তি কোড, পছন্দসই সেটিংস আইডি এবং সংশ্লিষ্ট GANSearchAdControllerOptions অবজেক্ট প্রদান করতে হবে।
  • loadAds() এর প্রতিটি কল একটি নতুন অনুসন্ধানের ইঙ্গিত দেয়, এবং এটি বিজ্ঞাপনের বর্তমান সেটটিকে বাতিল এবং বাতিল করে দেবে।
  • বিজ্ঞাপন ক্রিয়েটিভগুলি GANAdView এ সংরক্ষণ করা হয়।
  • বিজ্ঞাপনগুলি GANAdViewpopulateAdView পদ্ধতিতে ঢোকানো হয়। GANAdView যা জনবহুল করা হবে তার পাশাপাশি, কলার একটি adIdentifier প্রদান করে, যা একটি নির্বিচারে স্ট্রিং যা বিজ্ঞাপনটিকে স্বতন্ত্রভাবে সনাক্ত করতে হবে। API-এর ভিতরে, পাস করা প্রতিটি বিজ্ঞাপন সনাক্তকারীকে একটি নির্দিষ্ট বিজ্ঞাপন বরাদ্দ করা হয়। তারপর, যখনই সেই adKey ভবিষ্যতে আবার পাস করা হবে, একই বিজ্ঞাপন ফেরত দেওয়া হবে। উদাহরণ স্বরূপ, যদি প্রথমবার অ্যাডআইডেন্টিফায়ার "keyA" দিয়ে populateAdView কল করা হয়, তাহলে adIdentifier হিসেবে "keyA" পাস করার সময় populateAdView -তে প্রতিটি পরবর্তী কলের ফলে একই বিজ্ঞাপন দেখানো হবে।

GANAdView

  • এই UIView যে বিজ্ঞাপন ক্রিয়েটিভ ধারণ করে.
  • GANSearchAdControllerpopulateAdView পদ্ধতি ব্যবহার করে একটি বিজ্ঞাপন দিয়ে এই ভিউটি পপুলেট করুন।

GANSearchAdControllerOptions

  • বিজ্ঞাপনগুলি কীভাবে অনুরোধ করা হয় এবং প্রদর্শিত হয় তার আচরণ নির্দিষ্ট করতে এই বস্তুটি GANSearchAdController কনস্ট্রাক্টরের কাছে পাঠান।

GANSearchAdRequest

  • একটি বিজ্ঞাপন অনুরোধ করতে এই বস্তুর সাথে GANSearchAdController উদাহরণে loadAds পদ্ধতিতে কল করুন।

GANSearchAdControllerDelegate

  • এই ইন্টারফেসটি প্রয়োগ করুন এবং এটি GANSearchAdController কে প্রদান করুন বিভিন্ন রাজ্যের জন্য কলব্যাক নিবন্ধন করতে।

উদাহরণ বাস্তবায়ন

নীচের উদাহরণটি একটি GANSearchAdController এবং একটি GANView একটি নমুনা 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"];
  }
}
...