ওভারভিউ
Google ট্যাগ ম্যানেজার (GTM) এর মোবাইল ইমপ্লিমেন্টেশন একটি ক্লাস।
নমুনা ব্যবহার:
TAGContainer *container = [[TAGManager instance] openContainerById:myContainerId]; NSString *value = [container stringForKey:@"myKey"];
TAGDataLayer *dataLayer = [[TAGManager instance] dataLayer]; [dataLayer push:@{@"event": @"openScreen", @"screenName": @"Main Page"}];
একটি ধারক হল ম্যাক্রো, নিয়ম এবং ট্যাগের একটি সংগ্রহ। এটি GTM অ্যাপ্লিকেশনের মধ্যে তৈরি করা হয় ( http://www.google.com/tagmanager ), এবং একটি কন্টেইনার আইডি বরাদ্দ করা হয়। এই কন্টেইনার আইডিটি এই API-এর মধ্যে ব্যবহৃত হয়।
TAGContainer ক্লাস ম্যাক্রো নাম দেওয়া ম্যাক্রো মান পুনরুদ্ধারের জন্য পদ্ধতি প্রদান করে। রুটিনগুলি booleanForKey: (TAGContainer) , doubleForKey: (TAGContainer) , int64ForKey: (TAGContainer) , stringForKey: (TAGContainer) ধারকটিতে থাকা ম্যাক্রোর সাথে সম্পর্কিত নিয়মগুলির উপর নির্ভর করে মান সংগ্রহের ম্যাক্রো নামের জন্য বর্তমান মান প্রদান করে৷
উদাহরণ স্বরূপ, যদি আপনার কন্টেইনারে একটি কী "স্পীড" সহ একটি মান সংগ্রহ ম্যাক্রো থাকে যার মান 32, এবং সক্রিয় করার নিয়ম হল ভাষা "en"; এবং একটি কী "গতি" সহ আরেকটি মান সংগ্রহ ম্যাক্রো যার মান 45, এবং সক্রিয় করার নিয়ম হল ভাষা "en" নয়, তারপর নিম্নলিখিত কল করুন:
[container longForKey:@"speed"]
ডিভাইসের বর্তমান ভাষা ইংরেজি হলে হয় 32, অথবা অন্যথায় 45 ফেরত দেবে।
ডেটা স্তর হল একটি মানচিত্র যাতে অ্যাপ্লিকেশন সম্পর্কে জেনেরিক তথ্য থাকে। TAGDataLayer ক্লাস ডেটা স্তর থেকে ডেটা পুশ এবং পুনরুদ্ধার করার পদ্ধতি সরবরাহ করে। ডেটা স্তরে একটি event
কী ঠেলে দিলে এই ইভেন্টের সাথে মেলে এমন ট্যাগগুলি ফায়ার হয়ে যাবে৷
ধারকটির একটি প্রাথমিক সংস্করণ অ্যাপ্লিকেশনটির সাথে বান্ডিল করা হয়। containerId
নামের বান্ডিলে এটি একটি সংস্থান হিসাবে স্থাপন করা উচিত যেখানে containerId
একই কন্টেইনার আইডি যা আপনি এই API এর মধ্যে ব্যবহার করবেন। যখন আপনি openContainerById:callback: (TAGManager) কল করেন, তখন সেই বান্ডিল করা নিয়ম/ট্যাগ/ম্যাক্রোগুলির সাথে কন্টেইনারটি ফেরত দেওয়া হবে। আপনি UI-তে ধারকটি তৈরি করবেন এবং এটি ডাউনলোড করতে ডাউনলোড বোতামটি ব্যবহার করবেন।
আপনি UI এ কন্টেইনার পরিবর্তন করতে পারেন এবং একটি নতুন সংস্করণ প্রকাশ করতে পারেন। সেক্ষেত্রে, পরের বার যখন মোবাইল অ্যাপ নেটওয়ার্ক থেকে কন্টেইনার রিফ্রেশ করে (বর্তমানে প্রতি 12 ঘণ্টায়), এটি সেই নতুন সংস্করণটি পাবে। আপনি যখন get... রুটিনগুলির মধ্যে একটিতে কল করেন, মানটি সাম্প্রতিক নিয়মগুলি ব্যবহার করে গণনা করা হবে।
ডাউনলোড করা ধারক স্থানীয়ভাবে সংরক্ষণ করা হয়. আপনি যখন openContainerById:callback: (TAGManager) কল করবেন, এটি প্রথমে ডিফল্ট কন্টেইনার লোড করবে এবং তারপর অ্যাসিঙ্ক্রোনাসভাবে যেকোনও সংরক্ষিত কন্টেইনার লোড করবে। যদি কোনটি পাওয়া না যায় বা এটি 12 ঘন্টার বেশি পুরানো হয়, এটি নেটওয়ার্ক থেকে একটি নতুন সংস্করণ পুনরুদ্ধার করার চেষ্টা করবে৷ আপনি openContainerById:callback: (TAGManager) তে একটি TAGContainerCallback পাস করে সেই অসিঙ্ক্রোনাস লোডগুলির স্থিতি খুঁজে পেতে পারেন।
কখনও কখনও আপনি একটি নন-ডিফল্ট কন্টেইনার উপলব্ধ না হওয়া পর্যন্ত বা সাম্প্রতিক নতুন কন্টেইনার উপলব্ধ না হওয়া পর্যন্ত ব্লক করতে চাইতে পারেন। আপনি openContainerById:callback: (TAGManager) এ কলব্যাক ব্যবহার করে বা TAGContainerOpener ব্যবহার করে এটি করতে পারেন।
আপনি একটি ধারক দিয়ে শেষ হলে, বন্ধ কল করুন (TAGContainer) ।
পাবলিক সদস্য ফাংশন | |
( TAG ধারক *) | - openContainerById:কলব্যাক: |
একটি ধারক ফেরত দেয়। | |
( TAG ধারক *) | - getContainerById: |
প্রদত্ত containerId সাথে যুক্ত ধারকটি ফেরত দেয়; ধারকটি ইতিমধ্যে খোলা না থাকলে nil ফেরত দেয়। | |
(বুল) | - পূর্বরূপ উইথইউআরএল: |
ইনপুট url দিয়ে অ্যাপটির পূর্বরূপ দেখায়। | |
(অকার্যকর) | - প্রেরণ |
ট্যাগ (নিবিড় পিক্সেল, বিশ্লেষণ বীকন, ইত্যাদি) দ্বারা উত্পন্ন যেকোন মুলতুবি নেটওয়ার্ক ট্র্যাফিক প্রেরণ করে। | |
(অকার্যকর) | - dispatchWithCompletionHandler: |
সারিতে পরবর্তী মুলতুবি থাকা নেটওয়ার্ক ট্র্যাফিক প্রেরণ করে, যখন অনুরোধটি পাঠানো হয় (kTAGDispatchGood ফেরত দেওয়া) বা একটি ত্রুটি দেখা দেওয়া হয় (kTAGDispatchError ফিরিয়ে দেওয়া) তখন completionHandlerকে কল করে। | |
স্ট্যাটিক পাবলিক সদস্য ফাংশন | |
( TAG ম্যানেজার *) | + উদাহরণ |
TAG ম্যানেজার ক্লাসের সিঙ্গলটন উদাহরণ পায়, প্রয়োজনে এটি তৈরি করে। | |
বৈশিষ্ট্য | |
id< TAGLogger > | লগার |
Google ট্যাগ ম্যানেজার SDK-এর জন্য ব্যবহার করার জন্য লগার৷ | |
TAGরিফ্রেশমোড | রিফ্রেশমোড |
Google ট্যাগ ম্যানেজার SDK-এর জন্য ব্যবহৃত রিফ্রেশ মোড। | |
TAGDatalayer * | ডেটা লেয়ার |
কল পুশ: ইভেন্ট এবং অন্যান্য ডেটা পুশ করার জন্য (TAGDataLayer) পদ্ধতি। | |
NSTtimeInterval | dispatchInterval |
যদি এই মানটি ইতিবাচক হয়, ট্র্যাকিং তথ্য স্বয়ংক্রিয়ভাবে প্রতি ডিসপ্যাচ ইন্টারভাল সেকেন্ডে পাঠানো হবে। |
সদস্য ফাংশন ডকুমেন্টেশন
- ( TAGContainer *) openContainerById: | (NSString *) | ধারক আইডি | |
কলব্যাক: | (id< TAGContainerCallback >) | কলব্যাক | |
একটি ধারক ফেরত দেয়।
সাধারণত প্রত্যাবর্তিত ধারকটি খালি থাকবে, তবে লোডিংটি অ্যাসিঙ্ক্রোনাসভাবে ঘটবে, তাই ফেরত দেওয়া কন্টেইনারটি ফেরত দেওয়ার আগে, ফেরত দেওয়ার পরে রিফ্রেশ করা যেতে পারে, বা কখনও রিফ্রেশ নাও হতে পারে যদি, উদাহরণস্বরূপ, জীবদ্দশায় কোনও নেটওয়ার্ক সংযোগ না থাকে পাত্রের
কন্টেইনারের জন্য বিভিন্ন জিনিস ঘটলে কলব্যাক বলা হবে। সর্বনিম্ন, openContainerById:callback: কন্টেইনারের একটি সংরক্ষিত সংস্করণ লোড করার চেষ্টা করবে। যদি কোনও সংরক্ষিত সংস্করণ না থাকে, বা যদি সংরক্ষিত সংস্করণটি পুরানো হয় তবে নেটওয়ার্ক থেকে লোড করার চেষ্টা করা হবে।
যদি openContainerById:callback: একটি প্রদত্ত containerId
জন্য দ্বিতীয়বার বলা হয়, তবে পূর্ববর্তী খোলা কন্টেইনারটি ইতিমধ্যে বন্ধ না হলে nil
ফেরত দেওয়া হবে।
- পরামিতি:
ধারক আইডি কন্টেইনার আইডি খুলতে হবে। কলব্যাক একটি বস্তু যার লোডিং প্রক্রিয়া চলাকালীন বিভিন্ন পদ্ধতি কল করা হবে। মনে রাখবেন যে পদ্ধতিগুলি বিভিন্ন থ্রেড থেকে কল করা যেতে পারে। উপরন্তু, openContainerById:callback: ফিরে আসার আগে তাদের কল করা হতে পারে।
- রিটার্ন:
- খোলা পাত্র।
- ( TAGContainer *) getContainerById: | (NSString *) | ধারক আইডি |
প্রদত্ত containerId
সাথে যুক্ত ধারকটি ফেরত দেয়; ধারকটি ইতিমধ্যে খোলা না থাকলে nil
ফেরত দেয়।
- (BOOL) previewWithUrl: | (NSURL *) | url |
ইনপুট url দিয়ে অ্যাপটির পূর্বরূপ দেখায়।
বৈধ url অবশ্যই নিম্নলিখিত দিয়ে শুরু হবে:
tagmanager.c.<app_name>://preview/p?id=
যেখানে <app_name> অ্যাপ্লিকেশনের নাম।
- পরামিতি:
url পূর্বরূপ url.
- রিটার্ন:
- হ্যাঁ যদি url একটি বৈধ ট্যাগম্যানেজার পূর্বরূপ url হয়৷
+ ( TAG ম্যানেজার *) উদাহরণ |
TAG ম্যানেজার ক্লাসের সিঙ্গলটন উদাহরণ পায়, প্রয়োজনে এটি তৈরি করে।
- রিটার্ন:
- TAGManager- এর সিঙ্গলটন উদাহরণ।
- (অকার্যকর) প্রেরণ |
ট্যাগ (নিবিড় পিক্সেল, বিশ্লেষণ বীকন, ইত্যাদি) দ্বারা উত্পন্ন যেকোন মুলতুবি নেটওয়ার্ক ট্র্যাফিক প্রেরণ করে।
- (অকার্যকর) dispatchWithCompletionHandler: | (TAG ডিসপ্যাচ ফলাফল) | সম্পূর্ণতা হ্যান্ডলার |
সারিতে পরবর্তী মুলতুবি থাকা নেটওয়ার্ক ট্র্যাফিক প্রেরণ করে, যখন অনুরোধটি পাঠানো হয় (kTAGDispatchGood ফেরত দেওয়া) বা একটি ত্রুটি দেখা দেওয়া হয় (kTAGDispatchError ফিরিয়ে দেওয়া) তখন completionHandlerকে কল করে।
কোনো নেটওয়ার্ক সংযোগ না থাকলে বা পাঠানোর মতো কোনো ডেটা না থাকলে, kTAGDispatchNoData ফেরত দেওয়া হয়।
একটি শূন্য সমাপ্তি হ্যান্ডলার দিয়ে এই পদ্ধতিতে কল করা কলিং প্রেরণের সমান।
এই পদ্ধতিটি iOS 7.0 বা পরবর্তীতে ব্যাকগ্রাউন্ড ডেটা আনার জন্য ব্যবহার করা যেতে পারে।
কোনো জমা না দেওয়া ট্র্যাকিং তথ্য জমা দেওয়ার জন্য যখন অ্যাপ্লিকেশনটি প্রস্থান করছে তখন এটি কল করা বুদ্ধিমানের কাজ হবে।
সম্পত্তি ডকুমেন্টেশন
Google ট্যাগ ম্যানেজার SDK-এর জন্য ব্যবহার করার জন্য লগার৷
ডিফল্টরূপে, Google ট্যাগ ম্যানেজার ত্রুটি/সতর্কতা বার্তাগুলি লগ করে এবং তথ্য/ডিবাগ/ভার্বোস বার্তাগুলিকে উপেক্ষা করে৷ আপনি এই সম্পত্তি সেট করে আপনার নিজস্ব কাস্টমাইজড লগার ব্যবহার করতে পারেন।
- ( TAGRefreshMode ) refreshMode [read, write, assign] |
Google ট্যাগ ম্যানেজার SDK-এর জন্য ব্যবহৃত রিফ্রেশ মোড।
এটিকে kTAGRefreshModeDefaultContainer- এ সেট করা রিফ্রেশ পদ্ধতিটিকে উন্নয়নের উদ্দেশ্যে শুধুমাত্র ডিফল্ট কন্টেইনার ব্যবহার করার অনুমতি দেয়। ডিফল্ট হল kTAGRefreshModeStandard ।
- ( TAGDataLayer *) datalayer [read, assign] |
- (NSTimeInterval) dispatchInterval [read, write, assign] |
যদি এই মানটি ইতিবাচক হয়, ট্র্যাকিং তথ্য স্বয়ংক্রিয়ভাবে প্রতি ডিসপ্যাচ ইন্টারভাল সেকেন্ডে পাঠানো হবে।
অন্যথায়, ট্র্যাকিং তথ্য ম্যানুয়ালি কল করে প্রেরণ করতে হবে।
ডিফল্টরূপে, এটি `120` এ সেট করা থাকে, যা নির্দেশ করে যে প্রতি 120 সেকেন্ডে স্বয়ংক্রিয়ভাবে ট্র্যাকিং তথ্য পাঠানো হবে।