পুরস্কৃত ইন্টারস্টিশিয়াল

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস ইউনিটি ফ্লাটার

পুরস্কৃত ইন্টারস্টিশিয়াল হল এক ধরনের প্রণোদনামূলক বিজ্ঞাপন ফর্ম্যাট যা আপনাকে এমন বিজ্ঞাপনের জন্য পুরষ্কার অফার করতে দেয় যা প্রাকৃতিক অ্যাপ পরিবর্তনের সময় স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়। পুরস্কৃত বিজ্ঞাপনের বিপরীতে, ব্যবহারকারীদের একটি পুরস্কৃত ইন্টারস্টিশিয়াল দেখতে অপ্ট-ইন করতে হবে না।

পূর্বশর্ত

বাস্তবায়ন

পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপনগুলিকে সংহত করার প্রাথমিক পদক্ষেপগুলি নিম্নরূপ:

  • একটি বিজ্ঞাপন লোড করুন
  • [ঐচ্ছিক] SSV কলব্যাক যাচাই করুন
  • কলব্যাকের জন্য নিবন্ধন করুন
  • বিজ্ঞাপন প্রদর্শন করুন এবং পুরস্কার ইভেন্ট পরিচালনা করুন

একটি বিজ্ঞাপন লোড করুন

GADRewardedInterstitialAd ক্লাসে load(adUnitID:request) পদ্ধতি ব্যবহার করে একটি বিজ্ঞাপন লোড করা হয়।

সুইফট

func loadAdManagerRewardedInterstitialAd() async {
  do {
    rewardedInterstitialAd = try await RewardedInterstitialAd.load(
      // Replace this ad unit ID with your own ad unit ID.
      with: "adUnitID", request: AdManagerRequest())
    rewardedInterstitialAd?.fullScreenContentDelegate = self
  } catch {
    print("Rewarded ad failed to load with error: \(error.localizedDescription)")
  }
}

সুইফটইউআই

import GoogleMobileAds

class RewardedInterstitialViewModel: NSObject, ObservableObject,
  FullScreenContentDelegate
{
  @Published var coins = 0
  private var rewardedInterstitialAd: RewardedInterstitialAd?

  func loadAd() async {
    do {
      rewardedInterstitialAd = try await RewardedInterstitialAd.load(
        with: "ca-app-pub-3940256099942544/6978759866", request: Request())
      rewardedInterstitialAd?.fullScreenContentDelegate = self
    } catch {
      print(
        "Failed to load rewarded interstitial ad with error: \(error.localizedDescription)")
    }
  }

উদ্দেশ্য-C

- (void)loadAdManagerRewardedInterstitialAd {
  [GADRewardedInterstitialAd loadWithAdUnitID:"adUnitID"
                                      request:[GAMRequest request]
                            completionHandler:^(GADRewardedInterstitialAd *ad, NSError *error) {
                              if (error) {
                                NSLog(@"Failed to load rewarded interstitial ad with error: %@",
                                      error.localizedDescription);
                                return;
                              }
                              self.rewardedInterstitialAd = ad;
                              self.rewardedInterstitialAd.fullScreenContentDelegate = self;
                            }];
}

আপনার বিজ্ঞাপন ইউনিট আইডি দিয়ে adUnitID প্রতিস্থাপন করুন।

[ঐচ্ছিক] সার্ভার-সাইড ভেরিফিকেশন (SSV) কলব্যাক যাচাই করুন

যে অ্যাপগুলির সার্ভার-সাইড যাচাইকরণ কলব্যাকে অতিরিক্ত ডেটার প্রয়োজন হয় তাদের পুরস্কৃত বিজ্ঞাপনগুলির কাস্টম ডেটা বৈশিষ্ট্য ব্যবহার করা উচিত। পুরস্কৃত বিজ্ঞাপন অবজেক্টে সেট করা যেকোনো স্ট্রিং মান SSV কলব্যাকের custom_data ক্যোয়ারী প্যারামিটারে পাস করা হয়। যদি কোনো কাস্টম ডেটা মান সেট করা না থাকে, custom_data ক্যোয়ারী প্যারামিটার মান SSV কলব্যাকে উপস্থিত থাকবে না।

নিচের কোড নমুনাটি দেখায় যে কিভাবে একটি বিজ্ঞাপনের অনুরোধ করার আগে একটি পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন বস্তুতে কাস্টম ডেটা সেট করতে হয়।

সুইফট

private func validateAdManagerServerSideVerification() async {
  do {
    rewardedInterstitialAd = try await RewardedInterstitialAd.load(
      // Replace this ad unit ID with your own ad unit ID.
      with: "adUnitID", request: AdManagerRequest())
    let options = ServerSideVerificationOptions()
    options.customRewardText = ""SAMPLE_CUSTOM_DATA_STRING""
    rewardedInterstitialAd?.serverSideVerificationOptions = options
  } catch {
    print("Rewarded ad failed to load with error: \(error.localizedDescription)")
  }
}

উদ্দেশ্য-C

- (void)validateAdManagerServerSideVerification {
  // Replace this ad unit ID with your own ad unit ID.
  [GADRewardedInterstitialAd loadWithAdUnitID:"adUnitID"
                                      request:[GAMRequest request]
                            completionHandler:^(GADRewardedInterstitialAd *ad, NSError *error) {
                              if (error) {
                                NSLog(@"Rewarded interstitial ad failed to load with error: %@",
                                      error.localizedDescription);
                                return;
                              }
                              self.rewardedInterstitialAd = ad;
                              GADServerSideVerificationOptions *options =
                                  [[GADServerSideVerificationOptions alloc] init];
                              options.customRewardString = @""SAMPLE_CUSTOM_DATA_STRING"";
                              ad.serverSideVerificationOptions = options;
                            }];
}

আপনার কাস্টম ডেটা দিয়ে SAMPLE_CUSTOM_DATA_STRING প্রতিস্থাপন করুন।

কলব্যাকের জন্য নিবন্ধন করুন

প্রেজেন্টেশন ইভেন্টের জন্য বিজ্ঞপ্তি পেতে, আপনাকে অবশ্যই GADFullScreenContentDelegate প্রদান করা বিজ্ঞাপনের fullScreenContentDelegate প্রপার্টিতে বরাদ্দ করতে হবে:

সুইফট

rewardedInterstitialAd?.fullScreenContentDelegate = self

সুইফটইউআই

rewardedInterstitialAd?.fullScreenContentDelegate = self

উদ্দেশ্য-C

self.rewardedInterstitialAd.fullScreenContentDelegate = self;

GADFullScreenContentDelegate প্রোটোকল কখন বিজ্ঞাপনটি সফলভাবে বা অসফলভাবে উপস্থাপন করে এবং কখন এটি খারিজ করা হয় তার জন্য কলব্যাক পরিচালনা করে। নিম্নলিখিত কোডটি দেখায় কিভাবে প্রোটোকল প্রয়োগ করতে হয় এবং এটি বিজ্ঞাপনে বরাদ্দ করতে হয়:

সুইফট

func adDidRecordImpression(_ ad: FullScreenPresentingAd) {
  print("\(#function) called.")
}

func adDidRecordClick(_ ad: FullScreenPresentingAd) {
  print("\(#function) called.")
}

func adWillPresentFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called.")
}

func adWillDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called.")
}

func adDidDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called.")
  // Clear the rewarded interstitial ad.
  rewardedInterstitialAd = nil
}

func ad(
  _ ad: FullScreenPresentingAd,
  didFailToPresentFullScreenContentWithError error: Error
) {
  print("\(#function) called with error: \(error.localizedDescription).")
}

সুইফটইউআই

func adDidRecordImpression(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidRecordClick(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func ad(
  _ ad: FullScreenPresentingAd,
  didFailToPresentFullScreenContentWithError error: Error
) {
  print("\(#function) called")
}

func adWillPresentFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adWillDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
}

func adDidDismissFullScreenContent(_ ad: FullScreenPresentingAd) {
  print("\(#function) called")
  // Clear the rewarded interstitial ad.
  rewardedInterstitialAd = nil
}

উদ্দেশ্য-C

- (void)adDidRecordImpression:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adDidRecordClick:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adWillPresentFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adWillDismissFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
}

- (void)adDidDismissFullScreenContent:(id<GADFullScreenPresentingAd>)ad {
  NSLog(@"%s called", __PRETTY_FUNCTION__);
  // Clear the rewarded interstitial ad.
  self.rewardedInterstitialAd = nil;
}

- (void)ad:(id)ad didFailToPresentFullScreenContentWithError:(NSError *)error {
  NSLog(@"%s called with error: %@", __PRETTY_FUNCTION__, error.localizedDescription);
}

বিজ্ঞাপন প্রদর্শন করুন এবং পুরস্কার ইভেন্ট পরিচালনা করুন

আপনার বিজ্ঞাপনটি উপস্থাপন করার সময়, আপনাকে অবশ্যই একটি GADUserDidEarnRewardHandler অবজেক্ট প্রদান করতে হবে যাতে ব্যবহারকারীর জন্য পুরষ্কারটি পরিচালনা করা যায়।

নিম্নলিখিত কোডটি একটি পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন প্রদর্শনের জন্য সর্বোত্তম পদ্ধতি উপস্থাপন করে।

সুইফট

func showRewardedInterstitialAd() {
  guard let rewardedInterstitialAd = rewardedInterstitialAd else {
    return print("Ad wasn't ready.")
  }

  // The UIViewController parameter is an optional.
  rewardedInterstitialAd.present(from: nil) {
    let reward = rewardedInterstitialAd.adReward
    print("Reward received with currency \(reward.amount), amount \(reward.amount.doubleValue)")
    // TODO: Reward the user.
  }
}

সুইফটইউআই

বিজ্ঞাপন প্রদর্শন করতে ভিউতে UI ইভেন্টগুলি শুনুন।

var rewardedInterstitialBody: some View {
  // ...
  }
  .onChange(
    of: showAd,
    perform: { newValue in
      if newValue {
        viewModel.showAd()
      }
    }
  )

ভিউ মডেল থেকে পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপন উপস্থাপন করুন:

func showAd() {
  guard let rewardedInterstitialAd = rewardedInterstitialAd else {
    return print("Ad wasn't ready.")
  }

  rewardedInterstitialAd.present(from: nil) {
    let reward = rewardedInterstitialAd.adReward
    print("Reward amount: \(reward.amount)")
    self.addCoins(reward.amount.intValue)
  }
}

উদ্দেশ্য-C

- (void)showRewardedInterstitialAd {
  [self.rewardedInterstitialAd presentFromRootViewController:self
                                    userDidEarnRewardHandler:^{
                                      GADAdReward *reward = self.rewardedInterstitialAd.adReward;

                                      NSString *rewardMessage = [NSString
                                          stringWithFormat:@"Reward received with "
                                                           @"currency %@ , amount %ld",
                                                           reward.type, [reward.amount longValue]];
                                      NSLog(@"%@", rewardMessage);
                                      // TODO: Reward the user.
                                    }];
}

গিটহাবের উদাহরণ

আপনার পছন্দের ভাষায় সম্পূর্ণ পুরস্কৃত ইন্টারস্টিশিয়াল বিজ্ঞাপনের উদাহরণগুলি দেখুন:

পরবর্তী পদক্ষেপ

ব্যবহারকারীর গোপনীয়তা সম্পর্কে আরও জানুন।