AndroidRate é uma biblioteca para ajudá-lo a promover seu aplicativo Android, solicitando aos usuários que avaliem o aplicativo depois de usá-lo por alguns dias.
Módulo Gradle:
dependencies {
implementation 'com.vorlonsoft:androidrate:1.0.8'
}
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppRate.with(this)
.setStoreType(StoreType.GOOGLEPLAY) //default is GOOGLEPLAY (Google Play), other options are
// AMAZON (Amazon Appstore) and
// SAMSUNG (Samsung Galaxy Apps)
.setInstallDays((byte) 0) // default 10, 0 means install day
.setLaunchTimes((byte) 3) // default 10
.setRemindInterval((byte) 2) // default 1
.setRemindLaunchTimes((byte) 2) // default 1 (each launch)
.setShowLaterButton(true) // default true
.setDebug(false) // default false
//Java 8+: .setOnClickButtonListener(which -> Log.d(MainActivity.class.getName(), Byte.toString(which)))
.setOnClickButtonListener(new OnClickButtonListener() { // callback listener.
@Override
public void onClickButton(byte which) {
Log.d(MainActivity.class.getName(), Byte.toString(which));
}
})
.monitor();
if (AppRate.with(this).getStoreType() == StoreType.GOOGLEPLAY) {
//Check that Google Play is available
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING) {
// Show a dialog if meets conditions
AppRate.showRateDialogIfMeetsConditions(this);
}
} else {
// Show a dialog if meets conditions
AppRate.showRateDialogIfMeetsConditions(this);
}
}
As condições padrão para mostrar a caixa de diálogo de taxas são as seguintes:
- O aplicativo é lançado mais de 10 dias após a instalação. Alterar via
AppRate#setInstallDays(byte)
.
- O aplicativo é iniciado mais de 10 vezes. Alterar via
AppRate#setLaunchTimes(byte)
.
- O aplicativo é lançado mais de 1 dia após o clique do botão neutro. Alterar via
AppRate#setRemindInterval(byte)
.
- O aplicativo é iniciado X vezes e X% 1 = 0. Alterar via
AppRate#setRemindLaunchTimes(byte)
.
- O aplicativo mostra uma caixa de diálogo neutra (Lembre-me mais tarde) por padrão. Alterar via
setShowLaterButton(boolean)
.
- Para especificar o retorno de chamada quando o botão é pressionado. O mesmo valor que o segundo argumento de
DialogInterface.OnClickListener#onClick
será passado no argumento de onClickButton
.
- A configuração
AppRate#setDebug(boolean)
garantirá que a solicitação de classificação seja exibida sempre que o aplicativo for iniciado. Este recurso é apenas para desenvolvimento! .
Requisitos opcionais de eventos personalizados para mostrar a caixa de diálogo
Você pode adicionar requisitos opcionais adicionais para mostrar a caixa de diálogo. Cada requisito pode ser adicionado / referenciado como uma string exclusiva. Você pode definir uma contagem mínima para cada evento (por exemplo, "action_performed" 3 vezes, "button_clicked" 5 vezes, etc.)
AppRate.with(this).setMinimumEventCount(String, short);
AppRate.with(this).incrementEventCount(String);
AppRate.with(this).setEventCountValue(String, short);
Limpar sinalizador de diálogo de exibição
Quando você quiser mostrar o diálogo novamente, chame AppRate#clearAgreeShowDialog()
.
AppRate.with(this).clearAgreeShowDialog();
Quando o botão é pressionado
ligue AppRate#showRateDialog(Activity)
.
AppRate.with(this).showRateDialog(this);
Definir visualização personalizada
ligue AppRate#setView(View)
.
LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_dialog, (ViewGroup)findViewById(R.id.layout_root));
AppRate.with(this).setView(view).monitor();
Tema específico
Você pode usar um tema específico para aumentar o diálogo.
AppRate.with(this).setThemeResId(int);
Diálogo personalizado
Se você quiser usar seus próprios rótulos de diálogo, substitua os recursos xml de string em seu aplicativo.
<resources>
<string name="rate_dialog_title">Rate this app</string>
<string name="rate_dialog_message">If you enjoy playing this app, would you mind taking a moment to rate it? It won\'t take more than a minute. Thanks for your support!</string>
<string name="rate_dialog_ok">Rate It Now</string>
<string name="rate_dialog_cancel">Remind Me Later</string>
<string name="rate_dialog_no">No, Thanks</string>
</resources>
Verifique se o Google Play está disponível
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING) {
}