2017-09-28 27 views

回答

0

首先,你绝对可以做你的建议,以:

[[GAI sharedInstance] dispatch]; 

上有谷歌Analytics(分析)背景第二调度here,基本上给你这个方法:

// This method sends any queued hits when the app enters the background. 
- (void)sendHitsInBackground { 
    __block BOOL taskExpired = NO; 

    __block UIBackgroundTaskIdentifier taskId = 
    [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ 
    taskExpired = YES; 
    }]; 

    if (taskId == UIBackgroundTaskInvalid) { 
    return; 
    } 

    __weak AppDelegate *weakSelf = self; 
    self.dispatchHandler = ^(GAIDispatchResult result) { 
    // Send hits until no hits are left, a dispatch error occurs, or 
    // the background task expires. 
    if (result == kGAIDispatchGood && !taskExpired) { 
     [[GAI sharedInstance] dispatchWithCompletionHandler:weakSelf.dispatchHandler]; 
    } else { 
     [[UIApplication sharedApplication] endBackgroundTask:taskId]; 
    } 
    }; 

    [[GAI sharedInstance] dispatchWithCompletionHandler:self.dispatchHandler]; 
} 

覆盖applicationDidEnterBackground ,如下所示:

- (void)applicationDidEnterBackground:(UIApplication *)application { 
    [self sendHitsInBackground]; 
} 

and overri de applicationWillEnterForeground,像这样:

- (void)applicationWillEnterForeground:(UIApplication *)application { 
    // Restores the dispatch interval because dispatchWithCompletionHandler 
    // has disabled automatic dispatching. 
    [GAI sharedInstance].dispatchInterval = 120; 
} 
相关问题