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