2013-09-16 17 views
17

मैं गूगल विश्लेषिकी लागू करने के लिए कोशिश कर रहा हूँ .. में गूगल एनालिटिक्स आप लोग कृपया मुझेआईओएस (काम नहीं कर रहा)

-(void) setGoogleAnalytics{ 

    // Initialize tracker. 
    self.tracker = [[GAI sharedInstance] trackerWithName:@"ipad app" 
               trackingId:kTrackingID]; 

    NSDictionary *appDefaults = @{kAllowTracking: @(YES)}; 

    [[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults]; 
    // User must be able to opt out of tracking 

    [GAI sharedInstance].optOut = 
    ![[NSUserDefaults standardUserDefaults] boolForKey:kAllowTracking]; 

    // Optional: automatically send uncaught exceptions to Google Analytics. 
    [GAI sharedInstance].trackUncaughtExceptions = YES; 

    // Optional: set Google Analytics dispatch interval to e.g. 20 seconds. 
    [GAI sharedInstance].dispatchInterval = 5; 

    // Optional: set Logger to VERBOSE for debug information. 
    [[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose]; 

    [[GAI sharedInstance] setTrackUncaughtExceptions:YES]; 
} 

मदद और मेरे ViewController कार्यान्वयन के अंदर

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
      [self setGoogleAnalytics]; 
    // 
    // 
    // 
} 

में यह बुला सकता है

[self dispatchEvent:@"Purchase Done"]; 

[self trackViewName:NSStringFromClass([self class])]; 


-(void) trackViewName:(NSString *) strClassName{ 
     [[GAI sharedInstance] defaultTracker]; 
     self.screenName=[NSString stringWithFormat:@"%@",strClassName]; 
     [self.tracker send:[[NSDictionary alloc] initWithObjectsAndKeys:strClassName,@"ViewName", nil]]; 
     [[GAI sharedInstance] dispatch]; 

    } 

- (void)dispatchEvent:(NSString *)strButtonText{ 

    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker]; 

    [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"  // Event category (required) 
                  action:@"button_press" // Event action (required) 
                  label:strButtonText   // Event label 
                  value:nil] build]]; // Event value = [[GAI sharedInstance] defaultTracker]; 

    [[GAI sharedInstance] dispatch]; 
} 

Google Analytics का कौन सा संस्करण, मुझे वर्तमान में डाउनलोड करना चाहिए मैंने Google googlenn डाउनलोड किया है alyticsServicesiOS_3.01.zip (अनुशंसित) न के रूप में मैं बीटा संस्करण के साथ काम करना चाहते हैं GoogleAnalyticsiOS_2.0beta4.zip

+0

बस एक ध्यान दें, आप trackUncaughtExceptions 2 बार की स्थापना कर रहे हैं। – Ricardo

+0

मुझे उम्मीद है कि आपके पास पहले से ही GA का एक वर्किंग वर्जन है, लेकिन निश्चित रूप से, और दूसरों के लिए, मैंने v3 के लिए अपना जवाब अपडेट कर दिया है। – incmiko

उत्तर

11

अद्यतन - आईओएस v3 v3

तो मैं उपयोग कर रहा हूँ लिए Google Analytics SDK, और कोई समस्या नहीं है:

मुझे इसे ऐपडिलेगेट में लागू किया गया है। ज फ़ाइल में:

#import "GAI.h" 
@property (nonatomic,assign) id<GAITracker> tracker; // I'm not using ARC (assign) 

मीटर:

#import "GAIDictionaryBuilder.h" 
#import "GAIFields.h" 

// GOOGLE ANALYTICS 
[GAI sharedInstance].trackUncaughtExceptions = YES; 
[GAI sharedInstance].dispatchInterval = 0; 
tracker = [[GAI sharedInstance] trackerWithTrackingId:@"yourGAID"]; 

और इस तरह एक विधि लिखें:

- (void) sendGoogleAnalyticsView:(NSString*)viewName{ 
    [tracker set:kGAIScreenName value:viewName]; 
    [tracker send:[[GAIDictionaryBuilder createAppView] build]]; 
    [[GAI sharedInstance] dispatch]; // this will force track your views. 
} 

पुराना जवाब:

नीचे इस सवाल का जवाब देखें यह लिंक, यदि आप इसे वही करते हैं जैसा मैंने इस जवाब में बताया है तो यह आवश्यक है काम

Another stack-overflow answered question about google-analytics

और इन तरीकों का उपयोग करें: this link से

[GAI sharedInstance].optOut = YES; 
[GAI sharedInstance].dispatchInterval = 0; 
[GAI sharedInstance].trackUncaughtExceptions = YES; 
    tracker = [[GAI sharedInstance] trackerWithTrackingId:@"YOUR TRACKERID"]; 


[tracker sendView:@"Your View name"]; 

[tracker sendEventWithCategory:@"YOUR CATEGORY" withAction:@"YOUR ACTION" withLabel:nil withValue:nil]; 

डाउनलोड GoogleAnalyticsiOS_2.0beta4.zip यह उन वर्गों में शामिल होंगे कि तुम क्या जरूरत है, और यह पूरी तरह से काम करेंगे। सावधान रहें, वास्तविक समय के बारे में जानकारी दिखाने के लिए, Google Analytics को लीड टाइम मिला। और न वास्तविक समय datas केवल एक दिन दिखाएगा के बाद

3.0 के लिए संपादित करें:

मैं तुम्हारे लिए कुछ शायद उपयोगी चीजें पाया:

हम सिर्फ इस समस्या का सामना करते है और इस से थोड़ा बाहर है दिनांक इसलिए यहां एक अद्यतन उत्तर है। मुद्दा हम गूगल एनालिटिक्स वेबसाइट पर दिए गए निर्देशों का पालन करने के बाद कर रहे थे, वे करने के लिए आप को हिदायत निम्न फ़ाइलें GAI.h, GAIDictionaryBuilder.h, GAILogger.h, GAITrackedViewController.h, GAITracker.h और libGoogleAnalytics_debug.a पुस्तकालय जोड़ें। में वे पूरी तरह से भूल जाते हैं वेबसाइट निर्देशों में शामिल है, जहां आपको libGoogleAnalyticsServices.a लाइब्रेरी शामिल है।यह ज़िप्ड डाउनलोड में शामिल है लेकिन डीबग संस्करण में को शामिल करने के लिए इंगित करने के लिए कोई निर्देश नहीं है।

नोट: readme.txt libGoogleAnalyticsServices.a में सिर्फ libGoogleAnalytics.a के रूप में गूगल अपने प्रलेखन अद्यतन करने के लिए नया नाम या सही निर्देश शामिल करने के लिए संकेत मिलता है कि इस डिबग में आवश्यक है विफल रहे हैं करने के लिए जाना जाता है।

फ़ाइलें और पुस्तकालय है कि ज्यादातर शामिल किया जाना

GAI.h 
GAIDictionaryBuilder.h 
GAIFields.h 
GAILogger.h 
GAITrackedViewController.h 
GAITracker.h 
libGoogleAnalytics.a // Also know as libGoogleAnalyticsServices.a 
libGoogleAnalytics_debug.a 

enter image description here

प्लस जानकारी:

मैं यकीन है कि गूगल ने अभी तक अपनी के arm64 संस्करण उपलब्ध कराया गया है कर रहा हूँ libGoogleAnalyticsServices.a, जो वास्तव में कष्टप्रद है ... इसमें वी जनता के बाद से एक्सकोड 5 जीएम की रिहाई।

अभी के लिए, मुझे लगता है कि केवल armv7, armv7s के लिए निर्माण करें या Google विश्लेषण हटाएं जब तक कि वे अपने पैंट से बाहर निकल जाएं।

इसे लागू करने के लिए iOS Getting Started Guide. है।

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    // Optional: automatically send uncaught exceptions to Google Analytics. 
    [GAI sharedInstance].trackUncaughtExceptions = YES; 

    // Optional: set Google Analytics dispatch interval to e.g. 20 seconds. 
    [GAI sharedInstance].dispatchInterval = 0; 

    // Optional: set Logger to VERBOSE for debug information. 
    [[[GAI sharedInstance] logger] setLogLevel:kGAILogLevelVerbose]; 

    // Initialize tracker. 
    id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"]; 

} 

मैन्युअल रूप से एक स्क्रीन दृश्य भेजने के लिए, ट्रैकर पर स्क्रीन क्षेत्र मूल्यों को निर्धारित है, तो हिट भेजें:

// May return nil if a tracker has not already been initialized with a 
// property ID. 
id tracker = [[GAI sharedInstance] defaultTracker]; 

// This screen name value will remain set on the tracker and sent with 
// hits until it is set to a new value or to nil. 
[tracker set:kGAIScreenName 
     value:@"Home Screen"]; 

[tracker send:[[GAIDictionaryBuilder createAppView] build]]; 

या स्वचालित स्क्रीन मापन:

स्वचालित रूप से के रूप में देखा गया मापने GAITrackedViewController कक्षा का उपयोग कर स्क्रीन। अपने प्रत्येक व्यू कंट्रोलर GAITrackedViewController का विस्तार करें और स्क्रीन नाम नामक एक संपत्ति जोड़ें। इस संपत्ति का उपयोग स्क्रीन नाम फ़ील्ड सेट करने के लिए किया जाएगा।

// 
// MyViewController.h 
// An example of using automatic screen tracking in a ViewController. 
// 
#import "GAITrackedViewController.h" 

// Extend the provided GAITrackedViewController for automatic screen 
// measurement. 
@interface AboutViewController : GAITrackedViewController 

@end 


// 
// MyViewController.m 
// 
#import "MyViewController.h" 
#import "AppDelegate.h" 

@implementation MyViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Set screen name. 
    self.screenName = @"Home Screen"; 
} 

// Rest of the ViewController implementation. 
@end 

इवेंट ट्रैकिंग:

link

Google Analytics को एक घटना भेजने के लिए, का उपयोग GAIDictionaryBuilder.createEventWithCategory: कार्रवाई: लेबल: मूल्य: और हिट भेजने के लिए, के रूप में इस उदाहरण में:

// May return nil if a tracker has not already been initialized with a property 
// ID. 
id<GAITracker> = [[GAI sharedInstance] defaultTracker]; 

[tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"ui_action"  // Event category (required) 
                 action:@"button_press" // Event action (required) 
                 label:@"play"   // Event label 
                 value:nil] build]]; // Event value 
+0

मैंने उन चीजों की कोशिश की है, लेकिन कोई भाग्य नहीं है। मैं आपको बताना चाहता हूं कि मैं GoogleAnalyticsServicesiOS_3.0.zip संस्करण के साथ काम कर रहा हूं क्योंकि इसे Google द्वारा अनुशंसित किया गया है। इसमें SendView विधि नहीं है। –

+1

मैंने अपना उत्तर – incmiko

+0

संपादित किया है, फिर भी मैं 3.0 संस्करण के साथ काम करना चाहता हूं क्योंकि यह रिलीज़ चरण में है। मैं किसी भी आवेदन के लिए बीटा संस्करण है जो 1 सप्ताह में –

10

मुझे 3.01 के साथ एक ही समस्या थी। मेरी समस्या वास्तव में Google Analytics व्यवस्थापक अनुभाग में थी।

मेरे पास मोबाइल के लिए एक प्रोफ़ाइल सेटअप था (जो वास्तव में एक वेबसाइट थी जैसे वास्तव में सेटअप किया गया था) जो संस्करण 1.x के साथ काम करता था। हालांकि ऐसा प्रतीत होता है कि Google ने अब "मोबाइल" प्रोफाइल को भी प्रभावित किया है। मेरा मानना ​​है कि 3.x मोबाइल एसडीके "वेब" प्रोफाइल को ट्रैक नहीं कर सकते हैं।

यहाँ निर्देशों का पालन करके नई प्रोफ़ाइल बनाएं। और फिर नए ट्रैकिंग आईडी का उपयोग करें और इसे ट्रैकिंग शुरू करना चाहिए।

नोट: प्रेषण को अंतराल 0 पर सेट न करें, जैसा कि अन्य ने सुझाव दिया है, यह ट्रैकिंग को रोकता है, इसे 1 पर सेट करता है। यह मेरे लिए सब कुछ तय करता है।

+1

धन्यवाद, 3.03 पर भी काम किया। Google के दस्तावेज़ से: "यदि आप Google Analytics का उपयोग करके दोनों ऐप्स और वेबसाइटों को ट्रैक करना चाहते हैं, तो आपको अलग-अलग ट्रैकिंग आईडी और अलग-अलग गुणों का उपयोग करना होगा। ऐप ट्रैकिंग डेटा केवल निर्दिष्ट एप रिपोर्टिंग दृश्यों में दिखाई दे सकता है, और वेब ट्रैकिंग डेटा केवल निर्दिष्ट वेब में दिखाई दे सकता है विचार। वैकल्पिक विन्यास समर्थित नहीं हैं और परिणामस्वरूप दूषित या अधूरा डेटा होगा। " https://support.google।कॉम/एनालिटिक्स/उत्तर/2587087 – Gomfucius

0
#import <Foundation/Foundation.h> 
#import <UIKit/UIKit.h> 
@protocol GAITracker; 
@interface GAITrackedViewController : UIViewController { 
@private 
    id<GAITracker> tracker_; 
    NSString *trackedViewName_; 
} 
@property(nonatomic, assign)id<GAITracker> tracker; 
@property(nonatomic, copy)NSString *trackedViewName; 
@end 

Paste this code on "GAITrackedViewController.h" file 
Then you can use self.trackedName = @"Some Name"; easly. 
+0

यह मेरे लिए दुर्घटनाग्रस्त है। मैं जीएआई 3.0.6 पर हूं –

1

AppDelegate.m फ़ाइल में:

#import "AppDelegate.h" 
#import "GAI.h" 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    [GAI sharedInstance].trackUncaughtExceptions = YES; 

    [GAI sharedInstance].dispatchInterval = 1; 

    [[[GAI sharedInstance] logger]setLogLevel:kGAILogLevelVerbose]; 

    id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"TrackingId"]; 

    [GAI sharedInstance].defaultTracker = tracker; 

    return YES; 
} 

में ViewController.h

#import <UIKit/UIKit.h> 
#import "GAITrackedViewController.h" 

@interface FirstViewController : GAITrackedViewController 


@end 

में ViewController.m

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.screenName = @"RED Screen"; 
} 

इसे आज़माएं। यह मेरे लिए ठीक काम किया। मैंने इसे तीन से अधिक ऐप्स की कोशिश की। और सभी रीयलटाइम के लिए काम कर रहे हैं। यदि के लिए आपका खाता आपका ऐप नया है तो आप को परिणाम देखने के लिए 24h या अधिक के लिए का इंतजार करना होगा। कभी-कभी बिना किसी कारण के रीयलटाइम डेटा प्रदर्शित करने में समय लगता है।

कभी कभी यह भी पुराने Google Analytics SDK की वजह से काम नहीं करता। नवीनतम एसडीके प्राप्त करने के लिए आप कोको पॉड का उपयोग कर सकते हैं।

platform :ios, '10.0' 
target “GoogleAnalyticsTestApp” do 
    pod 'GoogleAnalytics' 
end 

अपनी परियोजना निर्देशिका में अपने फली फ़ाइल में इन पंक्तियों के लिखने और इसे बचाने के लिए: यहाँ प्रक्रिया है। फिर फली स्थापित करें। पता करने के लिए स्थापित करने के लिए कैसे कोको फली लिंक देखें: करो

Error importing Google Analytics iOS SDK using Cocoa Pods

गूगल/एनालिटिक्स लिख नहीं। GoogleAnalytics लिखें। उम्मीद है कि यह समस्या हल करेगा।

संबंधित मुद्दे