TAGDatalayer क्लास रेफ़रंस


खास जानकारी

डेटा लेयर एक डिक्शनरी है, जिसमें ऐप्लिकेशन के बारे में सामान्य जानकारी होती है.

यह कुंजियों के मानक सेट का इस्तेमाल करता है, ताकि इसे कोई भी पक्ष पढ़ सके जो स्पेसिफ़िकेशन को समझ सके. डेटा लेयर की स्थिति, एपीआई की मदद से अपडेट की जाती है. उदाहरण के लिए, कोई ऐप्लिकेशन नीचे दिए गए लेवल के साथ शुरू हो सकता है:

   {
     title: "Original screen title"
   }

ऐप्लिकेशन की स्थिति/डेटा में बदलाव होने पर, ऐप्लिकेशन के डेटा को कॉल के ज़रिए अपडेट किया जा सकता है. जैसे:

   [dataLayer push:@{@"title": @"New screen title"}];

अब डेटा लेयर में ये शामिल हैं:

   {
     title: "New screen title"
   }

एक और पुश करने के बाद:

   [dataLayer push:@{@"xyz": @3}];

डेटा स्तर में शामिल हैं:

   {
     "title": "New screen title",
     "xyz": 3
   }

नीचे दिया गया उदाहरण दिखाता है कि अरे और मैप को मर्ज करने की सुविधा कैसे काम करती है. अगर मूल लेवल में ये चीज़ें शामिल हैं:

   {
     "items": @[@"item1", [NSNull null], @"item2", @{@"a": @"aValue", @"b": @"bValue"}]
   }

इस पुश के बाद:

   [dataLayer push:@{@"items":
       @[[NSNull null], @"item6", kTAGDataLayerObjectNotPresent, @{@"a": [NSNull null]}]}

डेटा स्तर में शामिल हैं:

   {
     "items": @[[NSNull null], @"item6", @"item2", @{@"a": [NSNull null], @"b": @"bValue"}]}
   }

पुश एक साथ होते हैं; बदलाव होने के बाद, मॉडल में बदलाव दिखने लगते हैं.

जब event कुंजी को डेटा लेयर में पुश किया जाता है, तो टैग के नियमों का आकलन किया जाता है. इसके बाद, इस इवेंट से मैच करने वाले सभी टैग ट्रिगर हो जाएंगे. उदाहरण के लिए, दिए गए टैग वाला एक कंटेनर, जिसके सक्रिय होने का नियम वह "इवेंट" है "openScreen" के बराबर है, तो इस पुश के बाद:

   [dataLayer push:@{@"event", @"openScreen"}];

तो टैग सक्रिय हो जाएगा.

को दबाकर रखें सार्वजनिक सदस्य के फ़ंक्शन

(शून्य)- pushValue:forKey:
 डेटा लेयर में कुंजी/वैल्यू पेयर को पुश करता है.
(शून्य)- पुश:
 यह दिए गए update ऑब्जेक्ट को मौजूदा डेटा मॉडल में मर्ज करता है और लिसनर को अपडेट के साथ कॉल करता है (मर्ज होने के बाद).
(NSObject *)- पाएं:
 दी गई कुंजी से जुड़े मॉडल में ऑब्जेक्ट दिखाता है.

सदस्य के फ़ंक्शन से जुड़े दस्तावेज़

- (void) pushValue: (NSObject *) वैल्यू
कुंजी के लिए: (NSObject *) कुंजी

डेटा लेयर में कुंजी/वैल्यू पेयर को पुश करता है.

यह सिर्फ़ एक सुविधा का तरीका है, जिससे push:@{key: value} को कॉल किया जाता है.

- (शून्य) पुश: (NSशब्दकोश *) अपडेट करें

यह दिए गए update ऑब्जेक्ट को मौजूदा डेटा मॉडल में मर्ज करता है और लिसनर को अपडेट के साथ कॉल करता है (मर्ज होने के बाद).

यह डिक्शनरी (या एम्बेड की गई सरणियों) में मौजूद वैल्यू के लिए, NSNull टाइप के लिए मान्य है. अगर आपको कोई वैल्यू नहीं दिखानी है (जैसे कि सूची में कोई खाली इंडेक्स), तो kTAGDataLayerObjectNotPresent ऑब्जेक्ट का इस्तेमाल करें.

आम तौर पर, यह एक सिंक्रोनस कॉल होता है. हालांकि, अगर थ्रेड पुश को एक्ज़ीक्यूट कर रही है, तो उसी थ्रेड से दूसरी पुश एसिंक्रोनस होती है (डेटा लेयर में बदलाव किए जाने से पहले दूसरा पुश एसिंक्रोनस होता है). उसी थ्रेड से यह दूसरा पुश हो सकता है, उदाहरण के लिए, अगर किसी टैग के सक्रिय होने की प्रतिक्रिया में डेटा लेयर पुश किया जाता है. हालांकि, बाहरी पुश रिटर्न से पहले सभी अपडेट प्रोसेस किए जाएंगे.

अगर update में कुंजी event है, तो नियमों का आकलन किया जाएगा और मिलते-जुलते टैग सक्रिय हो जाएंगे.

पैरामीटर:
अपडेट करेंप्रोसेस किया जाने वाला अपडेट ऑब्जेक्ट
- (NSObject*) पाएं: (एनएसस्ट्रिंग *) कुंजी

दी गई कुंजी से जुड़े मॉडल में ऑब्जेक्ट दिखाता है.

अगर कुंजी मौजूद नहीं है, तो nil फ़ंक्शन दिखाता है. अगर key मौजूद है, लेकिन NSNull है, तो NSNull दिखाता है.

इस कुंजी में, एम्बेड किए गए पीरियड हो सकते हैं. उदाहरण के लिए: "a.b.c" की कुंजी, "c" की वैल्यू देती है शब्दकोश में "b" कुंजी के साथ कुंजी शब्दकोश में "a" कुंजी के साथ देखें.