Google Mobile Ads SDK-তে এখন MRAID v3-এর জন্য বিটা সাপোর্ট রয়েছে, যা MRAID v2-এর বিদ্যমান সাপোর্টের উপর ভিত্তি করে তৈরি। এটি বিজ্ঞাপনদাতাদের Ad Manager পাবলিশারদের কাছে MRAID v3 ক্রিয়েটিভ পরিবেশন করতে সক্ষম করে। এই গাইডটি MRAID v3 স্পেসিফিকেশনে থাকা সেইসব বাস্তবায়নের খুঁটিনাটি বিষয়গুলো স্পষ্ট করে, যা অস্পষ্ট এবং ব্যাখ্যার অবকাশ রেখেছিল। এর উদ্দিষ্ট পাঠক হলেন MRAID v3 ক্রিয়েটিভের নির্মাতারা।
পূর্বশর্ত
প্রকাশকদের অবশ্যই চালু থাকতে হবে:
- MRAID v3-এর জন্য Google Play services 15.0.0 বা তার উচ্চতর সংস্করণ
- MRAID v2-এর জন্য গুগল প্লে সার্ভিসেস ৭.৮ বা তার উচ্চতর সংস্করণ প্রয়োজন।
সহায়ক প্রাইমার
যদি আপনি MRAID সম্পর্কে পরিচিত না হন, তবে আপনি IAB MRAID পৃষ্ঠা থেকে আরও জানতে পারেন। এছাড়াও আপনি MRAID v3 সংজ্ঞা নথিটি ডাউনলোড করতে পারেন, যেখানে নীচে আলোচিত সমস্ত প্যারামিটার সম্পর্কে বিশদ বিবরণ দেওয়া আছে, এবং সেইসাথে MRAID v3 সম্পর্কিত IAB ব্লগ পোস্টটিও পড়তে পারেন ।
MRAID v3 (বিটা) বাস্তবায়নের বিবরণ
দৃশ্যমানতা - এক্সপোজার পরিবর্তন ইভেন্ট
এই ইভেন্টটি সমর্থিত এবং আমরা অপ্রচলিত viewableChange ইভেন্টের পরিবর্তে নতুন exposureChange ইভেন্টের জন্য একটি লিসেনার ব্যবহার করার পরামর্শ দিই। mraid.isViewable() মেথডটিও অপ্রচলিত। তবে, পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যতা বজায় রাখার জন্য এই অপ্রচলিত মেথডগুলো এখনও সমর্থিত।
যখনই বিজ্ঞাপনের ভিউ পরিবর্তিত হয়, তখনই exposureChange ইভেন্ট ডেফিনিশনটি ডিসপ্যাচ করা হয়। অতিরিক্ত ইভেন্ট তৈরি হওয়া এড়ানোর জন্য SDK-তে একটি পোলিং মেকানিজম রয়েছে। বিজ্ঞাপনটি একটি লিসেনার রেজিস্টার করার পর প্রাথমিক স্টেটটি অ্যাসিঙ্ক্রোনাসভাবে পাঠানো হয়। কলব্যাকে exposed_percentage প্যারামিটারটি অন্তর্ভুক্ত থাকে, যা 0.0 থেকে 100.0 এর মধ্যে একটি ফ্লোটিং-পয়েন্ট সংখ্যা।
নমুনা ব্যবহারের জন্য MRAID v3 স্পেসিফিকেশন দেখুন।
MRAID সনাক্তকরণ এবং প্রারম্ভিকীকরণ এবং MRAID_ENV অ্যাট্রিবিউটসমূহ
এসডিকে-টি MRAID v3 স্পেসিফিকেশনে সংজ্ঞায়িত ইনিশিয়ালাইজেশন প্রোটোকল মেনে চলে।
MRAID_ENV অবজেক্টে, SDK IDFA , limitAdTracking , অ্যাপ আইডি (App ID), বা কোপা (COPPA) (যা ঐচ্ছিক) পাঠায় না। এটি MRAID_ENV অবজেক্টে MRAID ভার্সন, SDK-এর নাম, এবং SDK ভার্সন সহ সমস্ত প্রয়োজনীয় ভ্যারিয়েবল সরবরাহ করে।
শ্রবণযোগ্যতা পরিমাপ
অডিও শোনা যাচ্ছে কিনা এবং কখন ভলিউম পরিবর্তিত হয় তা শনাক্ত করার জন্য একটি নতুন ইভেন্ট ( audioVolumeChange ) চালু করা হয়েছে।
audioVolumeChange ইভেন্টের একটিমাত্র প্যারামিটার আছে: volume_percentage । এর মান হলো সর্বোচ্চ অডিও প্লেব্যাক ভলিউমের শতাংশ। এটি 0.0 থেকে 100.0 এর মধ্যে একটি ফ্লোটিং-পয়েন্ট সংখ্যা (প্লেব্যাক অনুমোদিত না হলে 0.0 ) অথবা ভলিউম নির্ধারণ করা না গেলে null ।
নমুনা ব্যবহারের জন্য MRAID v3 স্পেসিফিকেশন দেখুন।
mraid.getLocation()
যেহেতু mraid.getLocation() সমর্থিত নয়, তাই এটি সর্বদা -1 রিটার্ন করে।
mraid.unload()
এই মেথডটি যেকোনো সময় কল করা যেতে পারে এবং এর প্রতিক্রিয়ায় SDK বিজ্ঞাপনটি ডিসমিস করে, রিসোর্সগুলো ডিঅ্যালোকেট করে এবং তারপর ওয়েবভিউটি সরিয়ে দেয় অথবা সেটিকে অন্য কোনো ডকুমেন্ট বা নতুন বিজ্ঞাপন দিয়ে প্রতিস্থাপন করে।
যখন ক্রিয়েটিভ ` unload() কল করে, তখন বিভিন্ন ক্রিয়েটিভ টাইপের জন্য নেটিভ লেয়ারটি নিম্নরূপভাবে সাড়া দেয়:
| প্রকার | আনলোড() আচরণ |
|---|---|
| ব্যানার | বর্তমান বিজ্ঞাপনের মতো একই অনুরোধ প্যারামিটার ব্যবহার করে একটি নতুন বিজ্ঞাপনের অনুরোধ করুন। |
| ইন্টারস্টিশিয়াল | অন্তঃকোষীয় স্থানটি বন্ধ করুন। |
ভিপিএআইডি (ভিডিও প্লেয়ার বিজ্ঞাপন ইন্টারফেস সংজ্ঞা)
গুগল মোবাইল অ্যাডস এসডিকে ভিপেইড (VPAID) সমর্থন করে না। mraid.supports('vpaid') ফলস (false) রিটার্ন করে।
mraid.useCustomClose()
ফরম্যাট এবং ক্রিয়েটিভ টাইপের উপর নির্ভর করে mraid.useCustomClose() সমর্থিত নাও হতে পারে।
MRAID v2 বাস্তবায়নের বিবরণ
mraid.getVersion()
ক্রিয়েটিভ লোড না হওয়া পর্যন্ত mraid.getVersion() 2.0 রিটার্ন করে না। যখন mraid.getState() loading রিটার্ন করে, তখন MRAID ভার্সন চেক করবেন না।
mraid.resize()
যখন mraid.resize() কল করা হয়, তখন মূল ব্যানারটি ব্যানারের স্ক্রিনশট ইমেজ দ্বারা প্রতিস্থাপিত হয়। রিসাইজ করা বিজ্ঞাপনটি যদি মূল বিজ্ঞাপনের স্থানটি পুরোপুরি ঢেকে না রাখে, তবে এটি লক্ষণীয় হয়।
আকার পরিবর্তন করা বিজ্ঞাপনগুলোও মূল ব্যানার ফ্রেম অনুসরণ করে না। যদি কোনো ব্যানার স্ক্রলিং ভিউতে রাখা হয়, তবে আকার পরিবর্তন করা বিজ্ঞাপনটি ব্যানারের সাথে স্ক্রল করে না।
mraid.setResizeProperties()
mraid.setResizeProperties() এর প্রতিটি কলে প্রয়োজনীয় প্রপার্টিগুলোর একটি সম্পূর্ণ তালিকা থাকা আবশ্যক। যদি রিসাইজ প্রপার্টিগুলো অবৈধ হয়, তবে সেগুলোকে তাদের ডিফল্ট মানে ফিরিয়ে দেওয়া হবে, এবং বৈধ প্যারামিটার দিয়ে mraid.resize() পুনরায় কল না করা পর্যন্ত mraid.setResizeProperties() এর পরবর্তী সমস্ত কল ব্যর্থ হবে।
mraid.getMaxSize()
mraid.getMaxSize() শুধুমাত্র রিসাইজ করা বিজ্ঞাপনের সর্বোচ্চ আকার নির্ধারণ করতে ব্যবহার করা উচিত। প্রসারণযোগ্য বিজ্ঞাপনের আকার নির্ধারণ করতে, mraid.getScreenSize() ব্যবহার করুন।
mraid.setOrientationProperties()
allowOrientationChange প্রপার্টিটি true সেট করে mraid.setOrientationProperties() কল করলে, forceOrientation প্রপার্টি সেট করলে কোনো কাজ হবে না। যে সকল ক্রিয়েটিভ ওরিয়েন্টেশন জোর করে প্রয়োগ করতে চান, তাদের allowOrientationChange false সেট করা উচিত।
mraid.isViewable()
যদি কোনো ভিউ অন্যথায় দৃশ্যমান কোনো বিজ্ঞাপনকে ঢেকে ফেলে, তাহলেও mraid.isViewable() true ) রিটার্ন করবে। অ্যাপের কন্টেন্ট যেন দৃশ্যমান বিজ্ঞাপনগুলোকে ঢেকে না ফেলে।
mraid.getCurrentPosition()
যখন একটি দুই-অংশের প্রসারণযোগ্য বিজ্ঞাপন প্রসারিত অবস্থায় থাকে, তখন প্রথম অংশে mraid.getCurrentPosition() কল করলে স্ক্রিনের আকার ফেরত পাওয়া যাবে।
mraid.storePicture()
কোনো অ্যাপে mraid.storePicture() সাপোর্ট করার জন্য, সেটিতে android.permission.WRITE_EXTERNAL_STORAGE পারমিশনটি অন্তর্ভুক্ত থাকতে হবে।