2014-12-30 31 views
0

我使用谷歌分析的iPad應用程序。目前,我有以下代碼做用戶需要詢問每一個時間權限谷歌分析在iOS?

- (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天,如果他們選擇退出。

+0

它是可選的。 –

+0

即使我跟蹤基本位置,蘋果是否會在沒有提示的情況下批准該應用程序? – Stephen

+0

是的蘋果會批准...不要擔心繼續提醒 –

回答

0

是的,你可以要求用戶接受它只有一次。您可以編寫它的iOS建議你做即方式允許用戶/關閉此功能從設置應用程序打開。第一次問他們;如果他們允許你彈出,你可以從你的設置關閉此功能。如果他們不贊成,可能會在幾天後再次出現。

注:爲用戶提供警報至少有一次是必須的和道德按照一般規則

增加:

由於要求在評論下面你可以使用UILocalNotification了點。如果您分配一個日曆等單位每週(NSWeekCalendarUnit)或 年度(NSYearCalendarUnit)使用以下屬性

@property(nonatomic) NSCalendarUnit repeatInterval 

,系統重新排定交付在指定的時間間隔通知 。默認值爲0,其中 表示系統觸發一次通知,然後丟棄 它。

+0

謝謝。我發現我可以在上面首次launch..updated使用這個......但如果他們選擇不,我怎麼能有再次要求他們7天? – Stephen

+0

@StephenRao檢查我的更新回答 –

+0

我提交了一次性問題,但這是很好的知道未來的更新。我感謝你抽出時間。 – Stephen