iOS-এর জন্য IMA SDK-তে
Open Measurement (OM) SDK অন্তর্ভুক্ত থাকে,
এটি হল
Interactive Advertising Bureau (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 ব্যবহার করে বিজ্ঞাপনের ভিউয়েবিলিটি গণনা করার সময়, মিডিয়া এলিমেন্টের উপরে থাকা সব ভিউকে বাধা হিসেবে বিবেচনা করা হয় এবং এর ফলে ভিউয়েবিলিটি রেট কমে যায়। যদি সম্পূর্ণ বিজ্ঞাপন ডিসপ্লে কন্টেনারের উপরে একটি স্বচ্ছ ট্যাপ ওভারলে থাকে, তাহলে ইনভেনটরি সম্পূর্ণভাবে দেখা যাবে না বলে ঘোষণা করা হতে পারে।
ওপেন মেজারমেন্ট SDK, ভিডিও কন্ট্রোলের জন্য এমন ব্যবস্থা করে যাতে সেগুলিকে ব্যবহারকারীর অভিজ্ঞতার জন্য অপরিহার্য "ফ্রেন্ডলি" বাধা হিসেবে বিবেচনা করা হয়। ফ্রেন্ডলি হিসেবে রেজিস্টার করা হলে, এই কন্ট্রোলগুলি বিজ্ঞাপন ভিউয়েবিলিটি পরিমাপ থেকে বাদ দেওয়া হয়।
IAB এবং MRC-এর সহায়তায়, IMA SDK, Open Measurement SDK-এর সাথে এইসব ওভারলে রেজিস্টার করার জন্য একটি API নিয়ে এসেছে। এইসব কন্ট্রোল অবশ্যই সম্পূর্ণ স্বচ্ছ ওভারলে বা ছোট বোতাম হতে হবে। ভিডিও কন্ট্রোলের সাথে সম্পর্কিত নয় এমন অন্য কোনও ভিউ রেজিস্টার করা যাবে না।
| DO রেজিস্টার | রেজিস্টার করবেন না |
|---|---|
|
|
নিচে দেওয়া স্যাম্পেল কোড থেকে বোঝা যাবে যে বিজ্ঞাপন ডিসপ্লে কন্টেনারে ভিডিও কন্ট্রোল ওভারলে কীভাবে রেজিস্টার করতে হয়:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
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];
আপনার কাজ হয়ে গেলে, নিম্নলিখিত পদ্ধতি কল করে এইসব বাধা সরিয়ে দেওয়া যেতে পারে:
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()
}