是否需要每次都要求用户获取iOs上Google Analytics的许可?

时间:2014-12-30 13:38:25

标签: ios google-analytics

我正在将Google Analytics用于iPad应用。我目前有以下代码

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



UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Google Analytics" message:@"With your permission usage information will be collected to improve the application." delegate:self cancelButtonTitle:@"Opt Out" otherButtonTitles:@"Opt In", nil];
[av show];

return YES;
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
    case 0:
        [[GAI sharedInstance] setOptOut:YES];
        break;
    case 1:
        [[GAI sharedInstance] setOptOut:NO];
        break;

    default:
        break;
}
}

目前,它要求用户每次打开应用程序时都选择加入/退出。这是否需要或者我可以让应用程序只询问一次吗?如果我只能问他们一次......我怎么能在我的代码中这样做?

我第一次可以使用

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
if(![defaults boolForKey:@"firstLaunch"]) {
    //this key has never been set - this is the first launch
    [defaults setBool:YES forKey:@"firstLaunch"];

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Google Analytics" message:@"With   your permission usage information will be collected to improve the application." delegate:self cancelButtonTitle:@"Opt Out" otherButtonTitles:@"Opt In", nil];
[av show];
}

要更新,如果他们选择退出,我将如何使用此功能在7天内重新询问用户。

1 个答案:

答案 0 :(得分:0)

是的,您可以要求用户只接受一次。您可以按iOS建议的方式对其进行编码,即允许用户从“设置”应用中打开/关闭此功能。第一次问他们;如果他们允许您弹出,您可以从您的设置中关闭此功能。如果他们不赞成你可以在几天后再次弹出。

注意:根据一般规则,至少向用户提供一次警报必须符合道德规范

<强>增加:

如下面评论中所述,您可以使用UILocalNotification。使用以下属性

@property(nonatomic) NSCalendarUnit repeatInterval
  

如果您指定日历单位,例如每周(NSWeekCalendarUnit)或   每年(NSYearCalendarUnit),系统重新安排通知   以指定的间隔交货。默认值为0,即   表示系统触发通知一次然后丢弃   它