如何在应用程序每 3 次启动时显示弹出窗口?

Posted

技术标签:

【中文标题】如何在应用程序每 3 次启动时显示弹出窗口?【英文标题】:how to show popup every 3rd time app has launched? 【发布时间】:2011-07-23 05:11:56 【问题描述】:

我需要在我的应用每 3 次启动时显示一个弹出窗口。

我也在使用Appirater 来评价我的应用程序。如果我在其中添加代码来完成我的任务可以吗? 还是有任何其他方式可以确认我的应用每 3 次启动一次?

【问题讨论】:

【参考方案1】:

您可以在此处将应用启动计数存储在 NSUserDefault 中,并且可以在应用启动时每三次显示警报。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    if(![[[NSUserDefaults standardUserDefaults] valueForKey:@"firstTime"] isEqualToString:@"Yes"])
    
        [[NSUserDefaults standardUserDefaults] setValue:@"Yes" forKey:@"firstTime"];

        [[NSUserDefaults standardUserDefaults] setInteger:([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] + 1) forKey:@"ApplaunchCount"];

        [[NSUserDefaults standardUserDefaults] synchronize];
    
    else
    
        [[NSUserDefaults standardUserDefaults] setInteger:([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] + 1) forKey:@"ApplaunchCount"];
        [[NSUserDefaults standardUserDefaults] synchronize];

        if([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] % 3 ==0)
        
            UIAlertView *lanuchAlert = [[UIAlertView alloc] initWithTitle:@"Your Message Title" message:@"Your Message Text" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
            [lanuchAlert show];
            [lanuchAlert release];
        
    

    // Add the tab bar controller's current view as a subview of the window
    [self.window addSubview:navigationController.view];
    [self.window makeKeyAndVisible];

    return YES;

如果您需要更多帮助,请告诉我。

【讨论】:

它工作正常。但我如何在第三次显示后重置它? 您只想第三次展示。我以为你想每 3 次展示一次。在这里,您可以在第一次收到警报时将其设置为另一个 UserDefaulut 并将其设置为 TRUE,如果下次为 TRUE,则无需显示警报。如果有任何问题,请告诉我。 我没有注意到 %3==0 每 3 次都可以使用。您的代码运行良好。谢谢【参考方案2】:

您可以在“Appirater.h”中调整LAUNCHES_UNTIL_PROMPT。或者你可以使用 userDefaults。

【讨论】:

我试过了,但它造成了很多混乱,所以我想不要编辑它并尝试其他东西 那么userDefaults就是你要找的。​​span> 【参考方案3】:

我不知道 Appirater,但您可以使用 NSUserDefaults 和一个简单的逻辑来实现这一点。将 NSNumber 值设置为用户默认值,并在每次应用加载时递增。最初,当您尝试使用密钥访问它时,该数字将为 nil。如果它是 nil,则将 1 设置为值,并在每次应用加载时递增。如果数字变为 3,则显示弹出窗口并将数字重置为 0。

【讨论】:

以上是关于如何在应用程序每 3 次启动时显示弹出窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kendo Multiselect 中悬停时显示弹出窗口

当 MouseEnter 事件触发时显示弹出窗口

在图像单击时显示弹出窗口

如何在点击时显示弹出框?

如何在选择图像时显示弹出框

仅在单击某个按钮时显示弹出窗口