Intelligent App Rating dialog for Qt applications
- Fully Customizable
- Set the show delay based on number of times the user opened your application
- Set the show delay based on number of days user has installed your app on his system
- Set the show delay in milliseconds after which the app rate dialog should open if all show dialog conditions are satisfied
- Shows dialog only when user is interacting with the application (application is not minimized or user has no focus)
- Other intelligence baked in which will not irritate users and ask them gracefully rate your application
You need Qt 5 or above
Go to your project's source directory, clone the repository to RateApp directory. (You can remove unwanted files likes images etc once done)
git clone https://github.com/keshavbhatt/QRateApp.git RateApp Add the .pri file in your project's .pro file like below.
include(RateApp/RateApp.pri) In your code initialize the Widget like this: For more APIs, customizations, go through source code.
RateApp *rateApp = new RateApp(this, "URL_TO_OPEN_WHEN_USER_CLICK_RATE_BUTTON", APP_LAUNCH_COUNT, APP_INSTALLED_DAYS, DELAY_IN_MIILISECONDS); rateApp->setWindowTitle(QApplication::applicationName()+" | "+tr("Rate Application")); rateApp->setVisible(false); rateApp->setWindowFlags(Qt::Dialog); rateApp->setAttribute(Qt::WA_DeleteOnClose,true); QPoint centerPos = this->geometry().center()-rateApp->geometry().center(); connect(rateApp,&RateApp::showRateDialog,[=]() { if(this->windowState() != Qt::WindowMinimized && this->isVisible() && isActiveWindow()){ rateApp->move(centerPos); rateApp->show(); }else{ rateApp->delayShowEvent(); } });
Screenshot showing the widget being use in one of my application WhatSie (WhatSie is a full fledged WhatsApp Web client for Linux Desktop)