खास जानकारी
ऐसी क्लास जो मोबाइल पर Google Tag Manager (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) में बनाया जाता है और इसे एक कंटेनर आईडी असाइन किया जाता है. इस एपीआई में, इस कंटेनर आईडी का इस्तेमाल किया जाता है.
TAGContainer क्लास, मैक्रो नाम के आधार पर मैक्रो की वैल्यू पाने के तरीके उपलब्ध कराती है. booleanForKey: (TAGContainer), doubForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer), वैल्यू कलेक्शन वाले मैक्रो के नाम के लिए मौजूदा वैल्यू दिखाता है. यह वैल्यू, कंटेनर में मौजूद उस मैक्रो से जुड़े नियमों के आधार पर मिलती है.
उदाहरण के लिए, अगर आपके कंटेनर में एक ऐसा मान कलेक्शन मैक्रो है जिसकी कुंजी "स्पीड" है, जिसकी वैल्यू 32 है और चालू करने वाला नियम भाषा "en" है; और "स्पीड" कुंजी वाला दूसरा वैल्यू कलेक्शन मैक्रो है, जिसका मान 45 है, और चालू करने का नियम "en" नहीं है, तो नीचे दिया गया कॉल करें:
[container longForKey:@"speed"]
अगर डिवाइस की मौजूदा भाषा अंग्रेज़ी है, तो यह 32 होगी या नहीं होने पर 45 दिखेगी.
डेटा लेयर एक मैप है, जिसमें ऐप्लिकेशन के बारे में सामान्य जानकारी होती है. TAGDataLayer क्लास, डेटा लेयर से डेटा को पुश करने और वापस पाने के तरीके उपलब्ध कराती है. डेटा लेयर में event
कुंजी पुश करने से, इस इवेंट से मेल खाने वाले टैग ट्रिगर हो जाएंगे.
ऐप्लिकेशन के साथ कंटेनर का शुरुआती वर्शन बंडल किया जाता है. इसे containerId
नाम वाले बंडल में संसाधन के तौर पर रखा जाना चाहिए, जहां containerId
वही कंटेनर आईडी है जिसका इस्तेमाल आपको इस एपीआई में करना है. openContainerById:callback: (TAGManager) को कॉल करने पर, कंटेनर को बंडल किए गए उन नियमों/टैग/मैक्रो के साथ दिखाया जाएगा. यूज़र इंटरफ़ेस (यूआई) में कंटेनर बनाया जाएगा और उसे डाउनलोड करने के लिए, 'डाउनलोड करें' बटन का इस्तेमाल किया जाएगा.
यूज़र इंटरफ़ेस (यूआई) में मौजूद कंटेनर में बदलाव किया जा सकता है और नया वर्शन पब्लिश किया जा सकता है. ऐसी स्थिति में, अगली बार जब मोबाइल ऐप्लिकेशन नेटवर्क से कंटेनर को (फ़िलहाल हर 12 घंटे में) रीफ़्रेश करेगा, तो उसे नया वर्शन मिलेगा. किसी 'get...' रूटीन को कॉल करने पर, वैल्यू का हिसाब सबसे हाल के नियमों का इस्तेमाल करके लगाया जाता है.
डाउनलोड किए गए कंटेनर को स्थानीय तौर पर सेव किया गया है. openContainerById:callback: (TAGManager) को कॉल करने पर, सबसे पहले डिफ़ॉल्ट कंटेनर को लोड किया जाएगा. इसके बाद, सेव किए गए किसी भी कंटेनर को एसिंक्रोनस तरीके से लोड किया जाएगा. अगर कोई वर्शन नहीं मिलता है या वह 12 घंटे से ज़्यादा पुराना है, तो वह नेटवर्क से नया वर्शन लाने की कोशिश करेगा. openContainerById:callback: (TAGManager) पर TAGContainerCallback को पास करके, ऐसे एसिंक्रोनस लोड की स्थिति का पता लगाया जा सकता है.
कभी-कभी हो सकता है कि आप गैर-डिफ़ॉल्ट कंटेनर के उपलब्ध होने तक या हाल ही का कोई नया कंटेनर उपलब्ध न होने तक ब्लॉक करना चाहें. ऐसा करने के लिए, openContainerById:callback: (TAGManager) में कॉलबैक का इस्तेमाल किया जा सकता है या TAGContainerOpener का इस्तेमाल किया जा सकता है.
किसी कंटेनर का काम पूरा करने के बाद, close (TAGContainer) को कॉल करें.
सार्वजनिक सदस्य के फ़ंक्शन | |
(TAGContainer *) | - openContainerById:callback: |
कंटेनर दिखाता है. | |
(TAGContainer *) | - getContainerById: |
यह फ़ंक्शन दिए गए containerId से जुड़ा कंटेनर दिखाता है. अगर कंटेनर पहले से खुला नहीं है, तो nil दिखाता है. | |
(BOOL) | - previewWithUrl: |
इनपुट यूआरएल के साथ ऐप्लिकेशन की झलक दिखाता है. | |
(void) | - डिस्पैच |
टैग (आर्बिट्ररी पिक्सल, Analytics बीकन वगैरह) से जनरेट हुए किसी भी ऐसे नेटवर्क ट्रैफ़िक को भेजता है जिसे मंज़ूरी मिलनी बाकी है. | |
(void) | - dispatchWithcompleteHandler: |
यह सुविधा, अनुरोध भेजने के बाद (kTAGDispatchGood को फिर से दिखाने) या किसी गड़बड़ी (kTAGDispatchError को लौटाया जा रहा है) होने पर, पूरा होने वाले हैंडलर को कॉल करता है. इसके लिए, सूची में अगले बचे हुए नेटवर्क ट्रैफ़िक को भेजा जाता है. | |
स्टैटिक सार्वजनिक सदस्यों के काम | |
(TAGManager *) | + इंस्टेंस |
TAGManager क्लास का सिंगलटन इंस्टेंस लेता है. इसे ज़रूरत पड़ने पर बनाया जा सकता है. | |
प्रॉपर्टी | |
आईडी< TAGLogger > | logger |
Google Tag Manager SDK टूल के लिए इस्तेमाल किया जाने वाला लॉगर. | |
TAGRefreshMode | refreshMode |
Google Tag Manager SDK टूल के लिए इस्तेमाल किया जाने वाला रीफ़्रेश मोड. | |
TAGDataLayer * | dataLayer |
कॉल पुश: (TAGDatalayer) तरीके का इस्तेमाल इवेंट और दूसरा डेटा पुश करने के लिए करें. | |
NSTimeInterval | dispatchInterval |
अगर यह वैल्यू पॉज़िटिव है, तो ट्रैकिंग की जानकारी हर dispatchInterval सेकंड को अपने-आप भेज दी जाती है. |
मेंबर फ़ंक्शन से जुड़ा दस्तावेज़
- (TAGContainer *) OpenContainerById: | (एनएसस्ट्रिंग *) | containerId | |
कॉलबैक: | (id< TAGContainerCallback >) | कॉलबैक | |
कंटेनर दिखाता है.
आम तौर पर, वापस किया गया कंटेनर खाली होगा, लेकिन लोडिंग एसिंक्रोनस तरीके से होगी. इसलिए, लौटाए गए कंटेनर को वापस लाने से पहले, इसे वापस लाने के बाद रीफ़्रेश किया जा सकता है या कभी रीफ़्रेश नहीं किया जा सकता, अगर उदाहरण के लिए, कंटेनर के लाइफ़टाइम में कोई नेटवर्क कनेक्शन मौजूद न हो.
कंटेनर के साथ होने वाली अलग-अलग गतिविधियों के आधार पर, कॉलबैक को कॉल किया जाएगा. कम से कम, openContainerById:callback: कंटेनर का सेव किया गया वर्शन लोड करने की कोशिश करेगा. अगर सेव किया गया कोई वर्शन नहीं है या सेव किया गया वर्शन पुराना है, तो नेटवर्क से लोड करने की कोशिश की जाएगी.
अगर किसी दिए गए containerId
के लिए openContainerById:callback: को दूसरी बार कॉल किया जाता है, तो nil
तब तक दिखेगा, जब तक कि खोला गया पिछला कंटेनर बंद न कर दिया जाए.
- पैरामीटर:
-
containerId खुलने वाले कंटेनर का आईडी. कॉलबैक एक ऐसा ऑब्जेक्ट जिसके अलग-अलग तरीकों को लोड होने की प्रक्रिया के दौरान कॉल किया जाएगा. ध्यान दें कि इन तरीकों को अलग-अलग थ्रेड से कॉल किया जा सकता है. इसके अलावा, उन्हें openContainerById:callback: रिटर्न से पहले कॉल किया जा सकता है.
- सामान लौटाना:
- खुला हुआ कंटेनर.
- (TAGContainer *) getContainerById: | (एनएसस्ट्रिंग *) | containerId |
यह फ़ंक्शन दिए गए containerId
से जुड़ा कंटेनर दिखाता है. अगर कंटेनर पहले से खुला नहीं है, तो nil
दिखाता है.
- (BOOL) previewWithUrl: | (एनएसयूआरएल *) | यूआरएल |
इनपुट यूआरएल के साथ ऐप्लिकेशन की झलक दिखाता है.
मान्य यूआरएल को इससे शुरू होना चाहिए:
tagmanager.c.<app_name>://preview/p?id=
जहां <app_name>, ऐप्लिकेशन का नाम है.
- पैरामीटर:
-
यूआरएल झलक दिखाने वाला यूआरएल.
- सामान लौटाना:
- हां, अगर यूआरएल एक मान्य tagmanager का झलक वाला यूआरएल है.
+ (TAGManager *) इंस्टेंस |
TAGManager क्लास का सिंगलटन इंस्टेंस लेता है. इसे ज़रूरत पड़ने पर बनाया जा सकता है.
- सामान लौटाना:
- TAGManager का सिंगलटन इंस्टेंस.
- (शून्य) डिस्पैच करें |
टैग (आर्बिट्ररी पिक्सल, Analytics बीकन वगैरह) से जनरेट हुए किसी भी ऐसे नेटवर्क ट्रैफ़िक को भेजता है जिसे मंज़ूरी मिलनी बाकी है.
- (अमान्य) dispatchWithcompleteHandler: | (TAGDispatchresults) | completionHandler |
यह सुविधा, अनुरोध भेजने के बाद (kTAGDispatchGood को फिर से दिखाने) या किसी गड़बड़ी (kTAGDispatchError को लौटाया जा रहा है) होने पर, पूरा होने वाले हैंडलर को कॉल करता है. इसके लिए, सूची में अगले बचे हुए नेटवर्क ट्रैफ़िक को भेजा जाता है.
अगर कोई इंटरनेट कनेक्शन न हो या भेजने के लिए कोई डेटा मौजूद न हो, तो kTAGDispatchNoData लौटाया जाता है.
इस तरीके से पूरी तरह से काम न करने वाले हैंडल से कॉल करना, डिस्पैच को कॉल करने जैसा ही है.
इस तरीके का इस्तेमाल, iOS 7.0 या उसके बाद के वर्शन में बैकग्राउंड डेटा फ़ेच करने के लिए किया जा सकता है.
इसे उस समय कॉल करना एक अच्छा तरीका है, जब ऐप्लिकेशन से बाहर निकल रहा हो, ताकि सबमिट न की गई किसी भी ट्रैकिंग जानकारी को सबमिट करना शुरू कर दिया जाए.
प्रॉपर्टी से जुड़े दस्तावेज़
Google Tag Manager SDK टूल के लिए इस्तेमाल किया जाने वाला लॉगर.
Google Tag Manager डिफ़ॉल्ट रूप से, गड़बड़ी/चेतावनी वाले मैसेज लॉग करता है और जानकारी/डीबग/वर्बोस मैसेज को अनदेखा कर देता है. इस प्रॉपर्टी को सेट करके, पसंद के मुताबिक बनाए गए अपने लॉगर का इस्तेमाल किया जा सकता है.
- (TAGRefreshMode) refreshMode [read, write, assign] |
Google Tag Manager SDK टूल के लिए इस्तेमाल किया जाने वाला रीफ़्रेश मोड.
इसे kTAGRefreshModeDefaultContainer पर सेट करने से, रीफ़्रेश करने के तरीके को डेवलपमेंट के लिए सिर्फ़ डिफ़ॉल्ट कंटेनर का इस्तेमाल करने की अनुमति मिलती है. डिफ़ॉल्ट रूप से यह kTAGRefreshModeStandard है.
- (TAGDataLayer*) dataLayer [read, assign] |
कॉल पुश: (TAGDatalayer) तरीके का इस्तेमाल इवेंट और दूसरा डेटा पुश करने के लिए करें.
- (NSTimeInterval) dispatchInterval [read, write, assign] |
अगर यह वैल्यू पॉज़िटिव है, तो ट्रैकिंग की जानकारी हर dispatchInterval सेकंड को अपने-आप भेज दी जाती है.
अगर ऐसा नहीं है, तो डिस्पैच को कॉल करके ट्रैकिंग की जानकारी मैन्युअल तरीके से भेजनी होगी.
डिफ़ॉल्ट रूप से, यह `120` पर सेट होता है. इसका मतलब है कि ट्रैकिंग की जानकारी, हर 120 सेकंड में अपने-आप भेज दी जाएगी.