Google Analytics集成在iOS中无效

时间:2014-01-16 14:24:58

标签: ios objective-c google-analytics analytics

您好我想在我的iOS应用中集成谷歌分析。但是它不起作用,当我打开分析仪表时它显示实时用户0,实际上它总是显示为零。

以下是我到目前为止所做的步骤

1.下载适用于iOS的Google AnalyticsSDK。

然后我只关注了这个developer.google.com链接link

这些是我的代码。

in appdelegate.h

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



    //analytics

    // 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 = 20;

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

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





    return YES;

}





 in my viewcontroller.h file

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


    @interface TopNewsViewController : GAITrackedViewController{

    }
    @property(nonatomic,retain)NSString *screenName;
    @end


in my viewcontroller.m

#import "GAIDictionaryBuilder.h"
#import "GAI.h"
#define kGAIScreenName @"TopNewsViewController"
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    id tracker = [[GAI sharedInstance] defaultTracker];
    [tracker set:kGAIScreenName
           value:@"Home Screen"];

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

}

以下内容正在我的日志中打印

    2014-01-16 19:39:56.766 tempfiles12[844:60b] <Google> To get test ads on this device, call: request.testDevices = [NSArray arrayWithObjects:@"12d2c8c8808caa10aa1f6d947afc7f33", nil];
2014-01-16 19:39:57.555 tempfiles12[844:60b] INFO: GoogleAnalytics 3.02 -[GAIReachabilityChecker reachabilityFlagsChanged:] (GAIReachabilityChecker.m:159): Reachability flags update: 0X000002
2014-01-16 19:39:57.563 tempfiles12[844:1803] ERROR: unable to get the receiver data from the DB!
2014-01-16 19:39:57.571 tempfiles12[844:60b] INFO: GoogleAnalytics 3.02 -[GAITrackedViewController viewDidAppear:] (GAITrackedViewController.m:21): Tracked view controller missing view name.
2014-01-16 19:39:57.611 tempfiles12[844:5317] VERBOSE: GoogleAnalytics 3.02 -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:414): Saved hit: {
    parameters =     {
        "&_u" = ".o-etnoK-L";
        "&_v" = "mi3.0.2";
        "&an" = tempfiles12;
        "&av" = "6.0";
        "&cid" = "b34bfd7f-45f8-4f4e-84a5-a0d0988e7356";
        "&sr" = 768x1024;
        "&t" = appview;
        "&tid" = "UA-47216473-1";
        "&ul" = en;
        "&v" = 1;
        "&z" = 4061780796142886022;
        TopNewsViewController = "Home Screen";
        gaiVersion = "3.02";
    };
    timestamp = "2014-01-16 14:09:57 +0000";
}
2014-01-16 19:40:17.009 tempfiles12[844:5317] VERBOSE: GoogleAnalytics 3.02 -[GAIRequestBuilder requestGetUrl:payload:] (GAIRequestBuilder.m:177): building URLRequest for https://ssl.google-analytics.com/collect
2014-01-16 19:40:17.011 tempfiles12[844:5317] VERBOSE: GoogleAnalytics 3.02 -[GAIBatchingDispatcher dispatch] (GAIBatchingDispatcher.m:499): Sending hit(s) GET: https://ssl.google-analytics.com/collect?_v=mi3.0.2&av=6.0&_u=.o-etnoK-L&ul=en&v=1&an=tempfiles12&t=appview&sr=768x1024&cid=b34bfd7f-45f8-4f4e-84a5-a0d0988e7356&tid=UA-47216473-1&ht=1389881397577&qt=19431&z=4061780796142886022
2014-01-16 19:40:17.232 tempfiles12[844:60b] INFO: GoogleAnalytics 3.02 -[GAIBatchingDispatcher didSendHits:response:data:error:] (GAIBatchingDispatcher.m:157): Hit(s) dispatched: HTTP status 200
2014-01-16 19:40:17.233 tempfiles12[844:5317] INFO: GoogleAnalytics 3.02 -[GAIBatchingDispatcher deleteHits:] (GAIBatchingDispatcher.m:426): hit(s) Successfully dispatched
2014-01-16 19:40:17.240 tempfiles12[844:5317] INFO: GoogleAnalytics 3.02 -[GAIBatchingDispatcher didSendHits:] (GAIBatchingDispatcher.m:167): 1 hit(s) sent

控制台

enter image description here

2 个答案:

答案 0 :(得分:5)

如果它不起作用的另一个原因:您必须在创建Google跟踪ID后24-48小时才能查看结果。 (即使是实时的)

另请参阅:Google Analytics on iOS: events not tracked

答案 1 :(得分:3)

哇..我找到了答案..

在我们的viewcontroller.m文件中

我们需要使用已在GAITrackedViewController.m中定义的屏幕名称变量

所以在我的例子中,变量名称是“screenname”,我所做的是在viewcontroller.h中声明相同的变量。

所以我删除了那一行,我添加了这一行

“self.screenname = @”我的屏幕名称“;

没有工作......

其余的事情都在发挥作用。