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)