我正在使用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调用(正如后面的调用中所述)。
任何想法如何解决这个问题?我真的想避免出口合规性的东西。
答案 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]]
});
}