iOS GAI-Tracker(Google Analytics)会阻止https调用

时间:2017-08-01 09:14:35

标签: ios google-analytics

我正在使用Google Analytics for iOS来跟踪我的应用使用情况。

我还尝试阻止我的应用进行任何https呼叫,因此在提交应用时我不必经历出口合规性麻烦(https-calls需要提及该应用使用加密。然后我需要在年底向一些美国局发出一些自我声明通知 - 无法准确记住哪一个。

所以,我发现了这个:

[tracker set:kGAIUseSecure value:[@NO stringValue]];

当我向跟踪器发送页面视图时,这似乎有效。

然而,当应用程序启动时,Instruments会告诉我,我的应用程序正在通过端口443(https)向某些verisign服务器发出请求。

我正在这样初始化跟踪器:

[GAI sharedInstance].optOut = ![[NSUserDefaults standardUserDefaults] boolForKey:kAllowTracking];
    // Initialize Google Analytics with a 120-second dispatch interval. There is a
    // tradeoff between battery usage and timely dispatch.
    [GAI sharedInstance].dispatchInterval = 20; // for testing purposes set to low interval
    [GAI sharedInstance].trackUncaughtExceptions = YES;
    self.tracker = [[GAI sharedInstance] trackerWithName:@"myTracker"
                                              trackingId:kTrackingId];

当我对此进行评论时,应用启动时没有https-call,因此我认为它是发出呼叫的Google跟踪器。 但是没有办法告诉共享实例不要进行任何https调用(正如后面的调用中所述)。

任何想法如何解决这个问题?我真的想避免出口合规性的东西。

1 个答案:

答案 0 :(得分:0)

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

// Configure tracker from GoogleService-Info.plist.
    NSError *configureError;
    [[GGLContext sharedInstance] configureWithError:&configureError];
    NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
// Optional: configure GAI options.
    GAI *gai = [GAI sharedInstance];
    gai.trackUncaughtExceptions = YES;

    return YES;
}



 **//and then you initialise  GAI Tracker in Your Method**
 **//call below method with required parameter**

- (void)sendGAITracker:(NSString *)trackerName,trackingID:(NSString *)trackingIdValue {

    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){

  id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
 [tracker send:[[GAI sharedInstance] trackerWithName:trackerName trackingId: trackingIdValue]]

 });

}