AndroidRate ist eine Bibliothek, mit der Sie für Ihre Android-App werben können, indem Benutzer aufgefordert werden, die App nach einigen Tagen zu bewerten.
Modul 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);
}
}
Die Standardbedingungen zum Anzeigen des Tarifdialogs lauten wie folgt:
- Die App wird mehr als 10 Tage nach der Installation gestartet. Ändern über
AppRate#setInstallDays(byte)
.
- App wird mehr als 10 Mal gestartet. Ändern über
AppRate#setLaunchTimes(byte)
.
- Die App wird mehr als 1 Tag nach dem Klicken auf die neutrale Schaltfläche gestartet. Ändern über
AppRate#setRemindInterval(byte)
.
- App wird X-mal gestartet und X% 1 = 0. Ändern über
AppRate#setRemindLaunchTimes(byte)
.
- App zeigt standardmäßig einen neutralen Dialog (Erinnere mich später). Ändern über
setShowLaterButton(boolean)
.
- Festlegen des Rückrufs beim Drücken der Taste. Der gleiche Wert wie das zweite Argument von
DialogInterface.OnClickListener#onClick
wird im Argument von übergeben onClickButton
.
- Durch die Einstellung
AppRate#setDebug(boolean)
wird sichergestellt, dass die Bewertungsanforderung bei jedem Start der App angezeigt wird. Diese Funktion ist nur für die Entwicklung! .
Optionale benutzerdefinierte Ereignisanforderungen zum Anzeigen des Dialogfelds
Sie können zusätzliche optionale Anforderungen für die Anzeige des Dialogfelds hinzufügen. Jede Anforderung kann als eindeutige Zeichenfolge hinzugefügt / referenziert werden. Sie können für jedes dieser Ereignisse eine Mindestanzahl festlegen (z. B. dreimal "action_performed", 5-mal "button_clicked" usw.).
AppRate.with(this).setMinimumEventCount(String, short);
AppRate.with(this).incrementEventCount(String);
AppRate.with(this).setEventCountValue(String, short);
Deaktivieren Sie das Flag zum Anzeigen des Dialogfelds
Wenn Sie den Dialog erneut anzeigen möchten, rufen Sie an AppRate#clearAgreeShowDialog()
.
AppRate.with(this).clearAgreeShowDialog();
Wenn die Taste gedrückt wird
anrufen AppRate#showRateDialog(Activity)
.
AppRate.with(this).showRateDialog(this);
Benutzerdefinierte Ansicht festlegen
anrufen 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();
Spezifisches Thema
Sie können ein bestimmtes Thema verwenden, um den Dialog aufzublasen.
AppRate.with(this).setThemeResId(int);
Benutzerdefinierter Dialog
Wenn Sie Ihre eigenen Dialogfeldbezeichnungen verwenden möchten, überschreiben Sie die XML-Ressourcen für Zeichenfolgen in Ihrer Anwendung.
<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>
Überprüfen Sie, ob Google Play verfügbar ist
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING) {
}