একাধিক বিজ্ঞাপন অনুরোধ হ্যান্ডেল

প্ল্যাটফর্ম নির্বাচন করুন: HTML5 অ্যান্ড্রয়েড iOS টিভিওএস

IMA SDK-এর বেশিরভাগ ব্যবহারের জন্য একবারে কেবল একটি বিজ্ঞাপনের অনুরোধ পরিচালনা করতে হয়। তবে কিছু এজ কেস বাস্তবায়নের জন্য, যেমন ব্যবহারকারী একটি ভিডিও নির্বাচন করার আগে বিজ্ঞাপনের ডেটা প্রিলোড করার জন্য, একাধিক সমকালীন অনুরোধ করতে হতে পারে। যেহেতু বিজ্ঞাপনের অনুরোধগুলি অ্যাসিঙ্ক্রোনাসভাবে করা হয়, তাই সঠিক বিজ্ঞাপন পরিচালককে সঠিক প্রসঙ্গের সাথে যুক্ত করা নিশ্চিত করা একটি কঠিন কাজ বলে মনে হতে পারে।

একাধিক বিজ্ঞাপন পরিচালকদের পার্থক্য করার প্রক্রিয়াটি সহজ করার জন্য, tvOS-এর জন্য IMA SDK প্রকাশকদের যেকোনো বিজ্ঞাপন অনুরোধের UserContext ক্ষেত্রে যেকোনো মান বা বস্তু পাস করার অনুমতি দেয়। এই মান বা বস্তুটি IMAAdsLoadedData অবজেক্টের userContext অ্যাট্রিবিউটের মাধ্যমে AdsLoader:AdsLoadedWithData ডেলিগেট ফাংশনে পুনরুদ্ধার করা যেতে পারে।

উদাহরণ

...
  adsLoader = IMAAdsLoader(settings: nil)
  adsLoader.delegate = self

  let userContextA = {id: "Request A", element: videoElementA}
  let userContextB = {id: "Request B", element: videoElementB}
  let requestA = IMAAdsRequest(
        adTagUrl: ViewController.AdTagURLString,
        adDisplayContainer: adDisplayContainer,
        contentPlayhead: contentPlayhead,
        userContext: userContextA)
  let requestB = IMAAdsRequest(
        adTagUrl: ViewController.AdTagURLString,
        adDisplayContainer: adDisplayContainer,
        contentPlayhead: contentPlayhead,
        userContext: userContextB)
  adsLoader.requestAds(with: requestA)
  adsLoader.requestAds(with: requestB)

...

// MARK: - IMAAdsLoaderDelegate

func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
  let userContext = adsLoadedData.userContext
  print("Loaded ads for ID: " + userContext.id)
  adsManager = adsLoadedData.adsManager
  adsManager.initialize(with: nil)
}

func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {
  let userContext = adsLoadingErrorData.userContext
  print("Error loading ads for ID: " + userContext.id)
}

...