iOS-এর জন্য IMA SDK-তে
Open Measurement (OM) SDK অন্তর্ভুক্ত থাকে,
এটি হল
ইন্ট্যার্যাক্টিভ অ্যাডভার্টাইজিং ব্যুরো (IAB) দ্বারা ডেভেলপ করা একটি ইন্ডাস্ট্রি স্ট্যান্ডার্ড,
যা থার্ড-পার্টি ভিউয়েবিলিটি ও যাচাইকরণ পরিমাপ চালু করে। iOS-এর জন্য IMA SDK ব্যবহার করার সময়, অন্তর্ভুক্ত OM SDK অটোমেটিক VAST বিজ্ঞাপন ট্যাগের মধ্যে
<AdVerifications> ট্যাগ পার্স করে এবং OMID API ব্যবহার করে নির্দিষ্ট পরিমাপ ভেন্ডরকে
ভিউয়েবিলিটি ডেটা পাঠায়। IMA SDK-তে
OM SDK v1.6, VAST 2+-এ GAM AdVerifications এক্সটেনশন
এবং VAST 4+-এ AdVerifications নোড কাজ করে। ওপেন মেজারমেন্টের সুবিধা নিতে,
নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
ওপেন মেজারমেন্ট ব্যবহার করতে হলে, আপনার কাছে অবশ্যই iOS-এর জন্য IMA SDK-এর 3.9.0 বা তার পরের যেকোনও ভার্সন থাকতে হবে।
VAST 4.1 স্পেসিফিকেশন অনুযায়ী VAST 4.1+ ব্যবহার করলে, VAST-এ
<AdVerifications>ট্রাফিক করার জন্য বিজ্ঞাপন কনফিগার করতে হবে; অন্যথায়,<Extension type="AdVerifications">ব্যবহার করতে হবে।AdDisplayContainer-কে কোনও ওভারলে (স্বচ্ছ বা অস্বচ্ছ) দিয়ে ঢেকে দেবেন না, কারণ OM SDK এগুলিকে বাধা হিসেবে চিহ্নিত করবে এবং ভিউয়েবিলিটি কমিয়ে দেবে।
পূর্বশর্ত
- আপনার বিজ্ঞাপন Ad Manager-এর মাধ্যমে ট্রাফিক করা হলে, আপনার Ad Manager নেটওয়ার্কের জন্য ভিউঅ্যাবিলিটি প্রোভাইডার কনফিগার করুন এবং আপনার লাইন আইটেমে সেই ভিউঅ্যাবিলিটি প্রোভাইডার অ্যাসাইন করুন।
পরীক্ষা করা
IMA SDK ব্যবহার করে ওপেন মেজারমেন্ট পরীক্ষা করতে, IMA-এর এমন একটি ভার্সন ব্যবহার করুন যা OM SDK-কে সাপোর্ট করে, এর সাথে একটি টেস্ট বিজ্ঞাপন ট্যাগ ব্যবহার করুন।
আপনার VAST উত্তরে <AdVerifications> ফেরত পাঠানো হয়েছে কিনা তা দেখুন।
ভিডিও কন্ট্রোল ওভারলেতে বাধা রেজিস্টার করা
ভিডিও কন্ট্রোল, যেমন পজ বোতাম বা প্রোগ্রেস বার, ব্যবহারকারীদের প্লেব্যাক সংক্রান্ত প্রয়োজনীয় তথ্য ও অ্যাকশন প্রদান করে। মোবাইলে, ভুলবশত ট্যাপ করা এবং ব্যবহারকারীর প্রত্যাশার কারণে মিডিয়া এলিমেন্টের উপর বড়, টাচ-ফ্রেন্ডলি কন্ট্রোল রেন্ডার করা সাধারণ প্র্যাক্টিস হয়ে গেছে। এইসব কন্ট্রোল সাধারণত ব্যবহারকারীর ট্যাপে ফেড-ইন ও ফেড-আউট হয় এবং প্লেব্যাকের বেশিরভাগ সময় দেখা যায় না।
ওভারলে করা ভিডিও কন্ট্রোলের উদাহরণ দেখতে, YouTube অ্যাপ রেন্ডারিং কন্ট্রোলের এই ছবি দেখুন:

IMA SDK ব্যবহার করার সময়, বেশিরভাগ প্রকাশক বিজ্ঞাপন ডিসপ্লে কন্টেনারের উপরে একটি ভিউ যোগ করে এইসব কন্ট্রোল প্রয়োগ করেন, যা বেশিরভাগ ক্ষেত্রে স্বচ্ছ হয়। সাধারণত, কন্ট্রোলগুলি এই ভিউয়ের চাইল্ড এলিমেন্ট যা নিচের ভিডিও প্লেয়ারকে সম্পূর্ণভাবে আড়াল করে। এই স্বচ্ছ ওভারলে ট্যাপ ইভেন্ট ক্যাপচার করতে এবং তারপরে ট্যাপ করা হলে ব্যবহারকারীদের কন্ট্রোল রেন্ডার করতে ব্যবহার করা হয়।
ওপেন মেজারমেন্ট SDK ব্যবহার করে বিজ্ঞাপনের ভিউয়েবিলিটি গণনা করার সময়, মিডিয়া এলিমেন্টের উপর ওভারলে করা সব ভিউকে বাধা হিসেবে বিবেচনা করা হয় এবং এর ফলে ভিউয়েবিলিটি রেট কমে যায়। বিজ্ঞাপন দেখানোর সম্পূর্ণ কন্টেনারের উপরে ট্রান্সপারেন্ট ট্যাপ ওভারলে থাকলে, ইনভেনটরিকে সম্পূর্ণভাবে দেখা যাচ্ছে না বলে ঘোষণা করা সম্ভব।
Open Measurement SDK, ভিডিও কন্ট্রোলকে "বন্ধুত্বপূর্ণ" বাধা হিসেবে বিবেচনা করার ব্যবস্থা করে, যা ব্যবহারকারীর অভিজ্ঞতার জন্য অপরিহার্য। ফ্রেন্ডলি হিসেবে রেজিস্টার করা হলে, এইসব কন্ট্রোল বিজ্ঞাপন দেখার উপযুক্ততা মাপার প্রসেস থেকে বাদ দেওয়া হয়।
IAB এবং MRC-এর সহায়তায়, IMA SDK, Open Measurement SDK-এর সাথে এইসব ওভারলে রেজিস্টার করার জন্য একটি API নিয়ে এসেছে। এই কন্ট্রোলগুলি অবশ্যই সম্পূর্ণ স্বচ্ছ ওভারলে বা ছোট বোতাম হতে হবে। ভিডিও কন্ট্রোল সম্পর্কিত নয় এমন অন্য কোনও ভিউ রেজিস্টার করা যাবে না।
| DO রেজিস্টার | রেজিস্টার করবেন না |
|---|---|
|
|
বিজ্ঞাপন ডিসপ্লে কন্টেনারে কীভাবে ভিডিও কন্ট্রোল ওভারলে রেজিস্টার করতে হয় তা নিম্নলিখিত নমুনা কোড থেকে বোঝা যায়:
Objective-C
- (void)registerObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
UIView *transparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:transparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
}
Swift
func registerObstructions(displayContainer: IMAAdDisplayContainer) {
let transparentTapOverlay = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 250))
let myPauseButton = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 10))
let overlayObstruction = IMAFriendlyObstruction(
view: transparentTapOverlay,
purpose: .notVisible,
detailedReason: "This overlay is transparent")
let pauseButtonObstruction = IMAFriendlyObstruction(
view: myPauseButton,
purpose: .mediaControls,
detailedReason: "This is the video player pause button")
displayContainer.register(overlayObstruction)
displayContainer.register(pauseButtonObstruction)
}
এগুলি ব্যবহার করা হয়ে গেলে, নিম্নলিখিত পদ্ধতি ব্যবহার করে এই বাধাগুলি সরানো যেতে পারে:
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}