2

それが不可能な場合、アプリを 3 分間使用した後、どうすればよいでしょうか? これは、Rate Us アラートに使用されますが、ユーザーが評価を求める前に、実際にアプリを使用する時間をユーザーに与えたいと考えています。

4

4 に答える 4

6
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)options {
    // ...
    if ([self plusPlusLaunchCount] == 2) {
        [self showRateUsAlert];
    }
    return YES;
}

- (void)showRateUsAlert {
    // show the Rate Us alert view
}

- (NSInteger)plusPlusLaunchCount {
    static NSString *Key = @"launchCount";
    NSInteger count = 1 + [[NSUserDefaults standardUserDefaults] integerForKey:Key];
    [[NSUserDefaults standardUserDefaults] setInteger:count forKey:Key];
    return count;
}
于 2012-06-18T04:40:31.247 に答える
1

「評価してください」というアラートを自分に送信する代わりに、サードパーティのライブラリを使用してみませんか? とにかく、この種のことは何度も行われてきました。

これは本当に良いものの 1 つです: iRate

タイトルの質問に対する正確な回答ではありません。

于 2012-06-18T05:27:34.523 に答える
0

アプリを起動するたびに呼び出され、バックグラウンド/スリープモードから来る DidBecomeActive を使用することをお勧めします。

ユーザーが長時間アプリを使用しない場合は、タイマーをキャンセルする必要があります。

- (void)applicationDidBecomeActive:(UIApplication *)application{
    // Override point for customization after application launch.    

    rateUsTimer = [[NSTimer scheduledTimerWithTimeInterval:180 
                                     target:self
                                   selector:@selector(showRateUsAlert) 
                                   userInfo:nil 
                                    repeats:NO] retain];


}

- (void)applicationWillResignActive:(UIApplication *)application{
   [rateUsTimer_ invalidate];
   [rateUsTimer_ release];
   rateUsTimer = nil;
}

- (void)applicationDidEnterBackground:(UIApplication *)application{
   [rateUsTimer_ invalidate];
   [rateUsTimer_ release];
   rateUsTimer = nil;
}


- (void)showRateUsAlert {
    //Here you present alert
    [rateUsTimer_ release];
    rateUsTimer = nil;
}
于 2012-06-18T05:28:08.040 に答える
0

NSTimerアラートを表示する時間間隔を設定する必要があります。アプリケーションが起動したらタイマーを開始し、設定した間隔が終了したらアラートを表示します。

于 2012-06-18T04:41:06.163 に答える