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

IMA SDK ব্যবহার করার সময়, বেশিরভাগ পাবলিশার বিজ্ঞাপন প্রদর্শনের কন্টেইনারের উপরে একটি প্রায় স্বচ্ছ ভিউ যোগ করে এই কন্ট্রোলগুলো প্রয়োগ করেন। সাধারণত, কন্ট্রোলগুলো এই ভিউয়ের চাইল্ড এলিমেন্ট হয়, যা নিচের ভিডিও প্লেয়ারটিকে সম্পূর্ণরূপে আড়াল করে রাখে। এই স্বচ্ছ ওভারলেটি ট্যাপ ইভেন্ট ক্যাপচার করতে এবং ট্যাপ করা হলে ব্যবহারকারীদের কাছে কন্ট্রোলগুলো রেন্ডার করতে ব্যবহৃত হয়।
ওপেন মেজারমেন্ট এসডিকে ব্যবহার করে যখন বিজ্ঞাপনের ভিউএবিলিটি গণনা করা হয়, তখন মিডিয়া এলিমেন্টের উপরে থাকা সমস্ত ভিউকে বাধা হিসেবে বিবেচনা করা হয় এবং এগুলি ভিউএবিলিটি রেট কমিয়ে দেয়। যদি একটি স্বচ্ছ ট্যাপ ওভারলে সম্পূর্ণ বিজ্ঞাপন ডিসপ্লে কন্টেইনারের উপরে থাকে, তবে ইনভেন্টরিটি সম্পূর্ণভাবে অদর্শনীয় হিসেবে ঘোষিত হতে পারে।
ওপেন মেজারমেন্ট এসডিকে-তে ভিডিও কন্ট্রোলগুলোকে ব্যবহারকারীর অভিজ্ঞতার জন্য অপরিহার্য "ফ্রেন্ডলি" বাধা হিসেবে বিবেচনা করার ব্যবস্থা রয়েছে। একবার ফ্রেন্ডলি হিসেবে নিবন্ধিত হলে, এই কন্ট্রোলগুলো বিজ্ঞাপনের ভিউবিলিটি পরিমাপ থেকে বাদ দেওয়া হয়।
IAB এবং MRC-এর সহায়তায়, IMA SDK এই ওভারলেগুলিকে Open Measurement SDK-এর সাথে রেজিস্টার করার জন্য একটি API চালু করেছে। এই কন্ট্রোলগুলি অবশ্যই সম্পূর্ণ স্বচ্ছ ওভারলে বা ছোট বাটন হতে হবে। ভিডিও কন্ট্রোলের সাথে সম্পর্কিত নয় এমন অন্য কোনো ভিউ রেজিস্টার করা যাবে না।
| নিবন্ধন করুন | নিবন্ধন করবেন না |
|---|---|
|
|
নিম্নলিখিত নমুনা কোডটি দেখায় কিভাবে বিজ্ঞাপন প্রদর্শন কন্টেইনারে ভিডিও কন্ট্রোল ওভারলে নিবন্ধন করতে হয়:
উদ্দেশ্য-সি
- (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];
}
সুইফট
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)
}
আপনার কাজ শেষ হয়ে গেলে, নিম্নলিখিত মেথডটি কল করে এই বাধাগুলো অপসারণ করা যাবে:
উদ্দেশ্য-সি
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
সুইফট
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}