মোবাইল অ্যাপের জন্য AFS (AFSMA) iOS এর জন্য বাস্তবায়ন

পূর্বশর্ত

এই বাস্তবায়ন নির্দেশিকা অনুমান করে যে আপনি নিম্নলিখিতগুলির সাথে পরিচিত:

ওভারভিউ

এই নথিটি আপনার iOS মোবাইল অ্যাপে AFS for Mobile Apps (AFSMA) বিজ্ঞাপনগুলিকে সংহত করার প্রক্রিয়ার রূপরেখা দেয়৷ AFSMA বিজ্ঞাপনগুলিকে কখনও কখনও ডায়নামিক উচ্চতা অনুসন্ধান বিজ্ঞাপন হিসাবেও উল্লেখ করা হয়। iOS-এ AFSMA বিজ্ঞাপনের অনুরোধ ও রেন্ডার করতে, আপনাকে নিম্নলিখিতগুলি বাস্তবায়ন করতে হবে:

GADSearchBannerView

  • এই ক্লাসটি iOS UIView ক্লাস থেকে উত্তরাধিকারসূত্রে প্রাপ্ত এবং AFSMA বিজ্ঞাপনগুলি প্রদর্শন করে৷ GADSearchBannerView একটি GADDynamicHeightSearchRequest সহ একটি বিজ্ঞাপনের জন্য অনুরোধ করে এবং ফিরে আসা বিজ্ঞাপনগুলিকে রেন্ডার করে৷ GADSearchBannerView অ্যাপের বিদ্যমান ভিউগুলির যেকোনো একটিতে যোগ করা উচিত; সাধারণত এটি প্যারেন্ট ভিউ কন্ট্রোলার যা GADSearchBannerView যোগ করা ভিউ ধারণ করে। উপযুক্ত প্রতিনিধিদের GADSearchBannerView এ সেট করা উচিত।
  • GADSearchBannerView AFSMA বিজ্ঞাপনের অনুরোধ করার জন্য initWithAdSize:kGADAdSizeFluid দিয়ে ইনস্ট্যান্টিয়েট করতে হবে। initWithAdSize:kGADAdSizeBanner লিগ্যাসি AFSMA বিজ্ঞাপনের অনুরোধ করে GADSearchBannerView কে ইনস্ট্যান্টিয়েটিং।
  • এই বস্তুর adUnitID প্রপার্টি আপনার প্রপার্টি কোডে সেট করা প্রয়োজন।

GADDynamicHeightSearchRequest

  • এই বস্তুটি বিজ্ঞাপনের অনুরোধের প্যারামিটারগুলিকে এনক্যাপসুলেট করে। এটি AFS ডেস্কটপ এবং মোবাইল ওয়েবের জন্য জাভাস্ক্রিপ্ট বিজ্ঞাপন অনুরোধ অবজেক্টে (পৃষ্ঠা বিকল্প, ইউনিট বিকল্প) প্যারামিটার সেট করার মতো।

(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 এর মধ্যে, একটি GADDynamicHeightSearchRequest তৈরি করুন যা GADSearchView এ রেন্ডার করা বিজ্ঞাপনের প্যারামিটারগুলি নির্দেশ করে৷

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

যদি একটি বিজ্ঞাপনের অনুরোধ ব্যর্থ হয়, আপনি ত্রুটিটি সঠিকভাবে পরিচালনা করতে এবং ত্রুটি বস্তুর মাধ্যমে ত্রুটিটি তদন্ত করতে এই কলব্যাকটি ব্যবহার করতে পারেন।