ট্যাগ ম্যানেজার

পাবলিক ক্লাস ট্যাগ ম্যানেজার

এটি Google ট্যাগ ম্যানেজার (GTM) এর মোবাইল বাস্তবায়ন। নমুনা ব্যবহার:

 Container container = TagManager.getInstance(context).openContainer(myContainerId);
 String value = container.getString("myKey");

 DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
 dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));
একটি ধারক হল ম্যাক্রো, ট্যাগ এবং নিয়মগুলির একটি সংগ্রহ৷ এটি GTM অ্যাপ্লিকেশনের মধ্যে তৈরি করা হয়, এবং একটি কন্টেইনার আইডি বরাদ্দ করা হয়। এই কন্টেইনার আইডিটি এই API-এর মধ্যে ব্যবহৃত হয়।

Container ক্লাস একটি কী দেওয়া মান পুনরুদ্ধারের জন্য পদ্ধতি প্রদান করে। রুটিন getBoolean(String) , getDouble(String) , getLong(String) , getString(String) কন্টেইনারের সাথে সম্পর্কিত নিয়মের উপর নির্ভর করে একটি মান সংগ্রহ ম্যাক্রোর কী-এর বর্তমান মান প্রদান করে।

উদাহরণ স্বরূপ, যদি আপনার কন্টেইনারে একটি মূল speed সাথে একটি মান সংগ্রহের ম্যাক্রো থাকে যার মান হল 32, এবং সক্রিয় করার নিয়ম হল Language is "en"; এবং আরেকটি মান সংগ্রহ ম্যাক্রো একটি কী speed সাথে যার মান 45, এবং সক্রিয় করার নিয়ম হল Language "en" নয়, তারপর নিম্নলিখিত কল করা:

 container.getLong("speed")
ডিভাইসের বর্তমান ভাষা ইংরেজি হলে 32 ফেরত দেবে, অথবা 45 অন্যথায়.

ডেটা স্তর হল একটি মানচিত্র যাতে অ্যাপ্লিকেশন সম্পর্কে জেনেরিক তথ্য থাকে। DataLayer ক্লাস ডেটা স্তর থেকে ডেটা পুশ এবং পুনরুদ্ধার করার পদ্ধতি সরবরাহ করে। ডেটা স্তরে একটি event কী ঠেলে দিলে এই ইভেন্টের সাথে মেলে এমন ট্যাগগুলি ফায়ার হয়ে যাবে৷

ধারকটির একটি প্রাথমিক সংস্করণ অ্যাপ্লিকেশনটির সাথে বান্ডিল করা হয়। এটিকে ট্যাগম্যানেজার/ কন্টেইনারআইডি নামের একটি সম্পদ হিসাবে স্থাপন করা উচিত যেখানে কন্টেইনারআইডি একই কন্টেইনার আইডি যা আপনি এই API-এর মধ্যে ব্যবহার করবেন। যখন আপনি openContainer(String, Container.Callback) কল করেন, তখন সেই বান্ডিল করা নিয়ম/ম্যাক্রোগুলির সাথে কন্টেইনারটি ফেরত দেওয়া হবে। আপনি UI-তে ধারকটি তৈরি করবেন এবং এটি ডাউনলোড করতে ডাউনলোড বোতামটি ব্যবহার করবেন।

আপনি UI এ কন্টেইনার পরিবর্তন করতে পারেন এবং একটি নতুন সংস্করণ প্রকাশ করতে পারেন। সেক্ষেত্রে, পরের বার যখন মোবাইল অ্যাপ নেটওয়ার্ক থেকে কন্টেইনার রিফ্রেশ করে (বর্তমানে প্রতি 12 ঘন্টা), তখন এটি সেই নতুন সংস্করণটি পাবে। আপনি যখন get... রুটিনগুলির মধ্যে একটিতে কল করেন, মানটি সাম্প্রতিক নিয়মগুলি ব্যবহার করে গণনা করা হবে।

ডাউনলোড করা ধারক স্থানীয়ভাবে সংরক্ষিত হয়; যখন আপনি openContainer(String, Container.Callback) কল করবেন, এটি প্রথমে ডিফল্ট কন্টেইনার লোড করবে এবং তারপরে অ্যাসিঙ্ক্রোনাসভাবে যেকোনো সংরক্ষিত কন্টেইনার লোড করবে। যদি কোনটি পাওয়া না যায়, বা এটি 12 ঘন্টার বেশি পুরানো হয়, এটি নেটওয়ার্ক থেকে একটি নতুন সংস্করণ পুনরুদ্ধার করার চেষ্টা করবে৷ আপনি একটি Container.Callback to openContainer(String, Container.Callback) পাস করে সেই অসিঙ্ক্রোনাস লোডগুলির স্থিতি খুঁজে পেতে পারেন।

কখনও কখনও আপনি একটি নন-ডিফল্ট কন্টেইনার উপলব্ধ না হওয়া পর্যন্ত বা সাম্প্রতিক নতুন কন্টেইনার উপলব্ধ না হওয়া পর্যন্ত ব্লক করতে চাইতে পারেন। ContainerOpener হল একটি ইউটিলিটি ক্লাস যা সাহায্য করতে পারে।

আপনি একটি ধারক দিয়ে শেষ হলে, close() কল করুন।

নেস্টেড ক্লাস সারাংশ

ইন্টারফেস TagManager.Logger ত্রুটি/সতর্কতা/তথ্য/ডিবাগ/ভার্বোস লগিংয়ের জন্য একটি সহজ ইন্টারফেস।
enum TagManager.RefreshMode কন্টেইনার রিফ্রেশ করার জন্য মোড।

পাবলিক পদ্ধতির সারাংশ

ধারক
getContainer ( স্ট্রিং কন্টেইনারআইডি )
প্রসঙ্গ
ডেটা লেয়ার
স্ট্যাটিক ট্যাগ ম্যানেজার
getInstance ( প্রসঙ্গ প্রসঙ্গ )
লগার
TagManager.RefreshMode
ধারক
openContainer ( স্ট্রিং কন্টেইনারআইডি , কন্টেইনার। কলব্যাক কলব্যাক )
অকার্যকর
অকার্যকর

পাবলিক পদ্ধতি

পাবলিক কন্টেইনার getContainer ( স্ট্রিং কন্টেইনারআইডি )

containerId সাথে যুক্ত খোলা কন্টেইনার ফেরত দেয়; ধারকটি ইতিমধ্যে খোলা না থাকলে null ফেরত দেয়।

সর্বজনীন প্রসঙ্গ getContext ()

এই বস্তুর সাথে যুক্ত সংরক্ষিত প্রসঙ্গ ফিরিয়ে দেয়।

সর্বজনীন ডেটা লেয়ার getDataLayer ()

ট্যাগ ম্যানেজার দ্বারা ব্যবহৃত ডেটা স্তর বস্তু প্রদান করে।

পাবলিক স্ট্যাটিক TagManager getInstance ( প্রসঙ্গ প্রসঙ্গ )

TagManager ক্লাসের সিঙ্গলটন উদাহরণ পান, প্রয়োজনে এটি তৈরি করুন।

পাবলিক লগার getLogger ()

ট্যাগ ম্যানেজার ব্যবহার করা লগার ফেরত দেয়।

সর্বজনীন TagManager.RefreshMode getRefreshMode ()

সমস্ত পাত্রে ব্যবহৃত রিফ্রেশ মোড প্রদান করে।

পাবলিক কন্টেইনার ওপেন কন্টেইনার ( স্ট্রিং কন্টেইনার আইডি , কন্টেইনার। কলব্যাক কলব্যাক )

একটি ধারক ফেরত দেয়। কন্টেইনারের জন্য বিভিন্ন জিনিস ঘটলে কলব্যাক বলা হবে। সর্বনিম্ন, openContainer কন্টেইনারের একটি সংরক্ষিত সংস্করণ লোড করার চেষ্টা করবে। যদি কোনও সংরক্ষিত সংস্করণ না থাকে, বা যদি সংরক্ষিত সংস্করণটি পুরানো হয় তবে নেটওয়ার্ক থেকে লোড করার চেষ্টা করা হবে।

সাধারণত, প্রত্যাবর্তিত ধারকটি খালি থাকবে, তবে লোডিং একটি পৃথক থ্রেডে ঘটবে, তাই প্রত্যাবর্তিত ধারকটি ফেরত দেওয়ার আগে রিফ্রেশ করা যেতে পারে, এটি ফেরত দেওয়ার পরে, বা কখনই রিফ্রেশ নাও হতে পারে (যদি, উদাহরণস্বরূপ, সেখানে নেই কন্টেইনারের জীবদ্দশায় নেটওয়ার্ক সংযোগ)।

যদি আপনি একটি প্রদত্ত containerId জন্য openContainer দ্বিতীয়বার কল করেন, তাহলে একটি ব্যতিক্রম নিক্ষেপ করা হবে।

পরামিতি
ধারক আইডি কন্টেইনার খোলার জন্য আইডি
কলব্যাক একটি বস্তু যার বিভিন্ন পদ্ধতি লোডিং প্রক্রিয়ার অংশগুলির সময় কল করা হবে। মনে রাখবেন যে পদ্ধতিগুলি বিভিন্ন থ্রেড থেকে কল করা যেতে পারে। উপরন্তু, openContainer ফিরে আসার আগে তাদের ডাকা হতে পারে।

পাবলিক ভ্যাইড সেটলগার ( লগার লগার )

ট্যাগ ম্যানেজার ব্যবহার করা বিদ্যমান লগার প্রতিস্থাপন করে।

সর্বজনীন অকার্যকর সেট রিফ্রেশমোড ( ট্যাগ ম্যানেজার. রিফ্রেশমোড মোড )

সমস্ত পাত্রে ব্যবহৃত রিফ্রেশ মোড সেট করে।