2012-11-18 6 views
14

सिंहावलोकन पालन करने के बाद पाया गया:आईओएस एसडीके 2.0 के लिए Google Analytics - ऐप प्रतिनिधि में "ट्रैकर" चर के साथ क्या करना है?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

यहाँ गूगल के अवलोकन पृष्ठ से कोड है:

https://developers.google.com/analytics/devguides/collection/ios/v2/

मैं कोड की अंतिम पंक्ति पर एक Unused variable "tracker" चेतावनी देख रहा हूँ करने के लिए जोड़ा :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Optional: automatically track uncaught exceptions with Google Analytics. 
    [GAI sharedInstance].trackUncaughtExceptions = YES; 
    // Optional: set Google Analytics dispatch interval to e.g. 20 seconds. 
    [GAI sharedInstance].dispatchInterval = 20; 
    // Optional: set debug to YES for extra debugging information. 
    [GAI sharedInstance].debug = YES; 
    // Create tracker instance. 
    id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 

} 

tracker वास्तव में इस बिंदु से बिल्कुल कोई उपयोग नहीं देखता है और अवलोकन दस्तावेज़ वास्तव में यह नहीं कहता कि इसके साथ क्या करना है। कोई सुझाव?

उत्तर

24

आप अपने पर नजर के लिए एक संदर्भ की जरूरत है नहीं है (और ऐसा लगता है कि तुम नहीं) आप

[[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 
को

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 

से कोड की अंतिम पंक्ति को बदलने के द्वारा चेतावनी हटा सकते हैं

कोड के इस ब्लॉक में ट्रैकर का संदर्भ रखने के लिए एक उपयोग केस यह हो सकता है कि यदि आप उस संदर्भ को प्राप्त करने के लिए [GAI sharedInstance] पर कॉल किए बिना एप्लिकेशन को प्रारंभ करने के लिए कोई ईवेंट बनाना चाहते हैं।

+0

मैं अगर आशय है सोच रहा हूँ के बाद

#pragma unused(tracker) 

जोड़ सकते हैं 'एक वैश्विक सिंगलटन हो tracker'। कारण मैं यह कहता हूं कि बटन स्पर्श को ट्रैक करने का उदाहरण एक 'ट्रैकर' उदाहरण को संदर्भित करता है जो मौजूद नहीं है यदि कोई वैश्विक रूप से 'बाहरी' नहीं करता है या अन्यथा प्रत्येक व्यू कंट्रोलर पर 'ट्रैकर' प्रारंभ नहीं करता है। –

+0

हो सकता है - मुझे लगता है कि जब भी आप इसका उपयोग करना चाहते हैं तो [GAI SharedInstance] को कॉल करके वही संस्करण पुनर्प्राप्त किया जाता है, तो मुझे इसका अपना वैश्विक उदाहरण बनाने में बहुत कम बिंदु दिखाई देता है। – rickerbh

+1

ठीक है, 'GAI.h' और 'GAITrackedViewController.h' को देखने के बाद ऐसा लगता है कि ट्रैकिंग बटन स्पर्श ईवेंट के लिए नमूना कोड में त्रुटि यह है कि' ट्रैकर 'को वास्तव में' self.tracker' होना चाहिए। यहां https://bvelopers.google.com/analytics/devguides/collection/ios/v2/advanced संकेतों को अस्पष्ट करता है कि यह डिज़ाइन का हिस्सा हो सकता है। मैं दूसरे शब्दों को स्पष्ट रूप से 'GAI साझा किया गया' कॉल करने की आवश्यकता नहीं है। मुझे लगता है। मुझे अभी भी देखना है कि यह काम करता है या नहीं। –

5

तुम बस लाइन

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-YOUR-TRACKING-ID"]; 
संबंधित मुद्दे