我正在使用Google Analytics for iOS来跟踪我的应用程序使用情况。
我还试图阻止我的应用程序进行任何https调用,这样我就不必在提交应用程序时经历出口合规性的麻烦(https调用需要提到应用程序使用加密。然后我需要在年底向某个美国局发出一些自我申报通知,我记不清具体是哪一个了。
所以,我发现了这个:
[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-tracker发出了调用。但是没有办法告诉共享实例不进行任何https调用(就像上面在后续调用中提到的那样)。
有什么办法可以解决这个问题吗?我真的很想避免出口合规性的东西。
发布于 2017-08-01 17:52:39
- (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**-(空)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]]
});}
https://stackoverflow.com/questions/45433705
复制相似问题