Apps für Android programmieren leicht gemacht!
Nach Bewertungen fragen

Nach Bewertung fragen

Wir nutzen eine neu heruntergeladene App oder spielen ganz genüsslich ein neues Game und plötzlich macht sich ein Pop-Up auf, mit der Frage „Wollen Sie uns nicht bewerten?“.
Wer kennt das nicht? Nervig eigentlich diese Dinger, aber sie sind effektiv und bringen den Entwicklern wichtige Reputationen!

Bereits in dem Artikel 7 Tipps für bessere Bewertungen habe ich angesprochen wie wichtig die Bewertungen im PlayStore sind und angeschnitten, dass man die Nutzer doch um eine Bewertung bitten könnte.

Klar, diese Bitte ist unter Umständen für das Nutzungserlebnis kontraproduktiv.
Erfahrungsgemäß würde ich allerdings sagen, dass die wenigsten Nutzer eigenständig initiativ werden und eine Bewertung abgeben. Eine Bitte kann ergo sehr viel bewirken.

Allerdings sollten wir darauf achten, dass wir die Geduld und den Gut Willen der Nutzer nicht überstrapazieren. Es wäre also hilfreich, wenn wir das Pop-Up nur maximal 2 mal anzeigen. Das erste mal, wenn die App bereits mehrfach geöffnet wurde. Ein weiteres mal sollten wir nur Fragen, wenn der Nutzer nicht bereits beim ersten mal auf „Ja, ich möchte eine Bewertung abgeben“ geklickt hat und die erste Frag ein paar Tage her ist.

Um euch eine Hilfestellung an die Hand zu geben und den Nutzer dabei so weit wie möglich in Frieden zu lassen, habe ich euch einmal einen Code geschrieben.

 

Ablauf

Der Ablauf dieses kleinen Code-Snippets ist recht schnell erklärt.
Wir nutzen ein DialogFragment für die Anzeige des Pop-Ups.
Für jeden Aufruf der Funktion „onCreate“ zählen wir eine Einstellung +1.
Hat die Einstellung 10 erreicht, dann zeigen wir unser Pop-Up an.
Wird bei dem Pop-Up auf „Ja, Bewertung abgeben“ geklickt, dann zählen wir zusätzlich um 21 hoch.
Erreicht die Einstellung einen Wert von 30, dann zeigen wir ein weiteres mal ein Pop-Up an.

Da wir beim Klick auf „Ja, Bewertung abgeben“ 21 addieren, würden wir mindestens bei 31 laden (erste Pop-Up bei 10) und damit niemals die Bedingung für ein zweites Pop-Up bei 30 erreichen.

Clever, nicht?

 

Programmierung

Wir benötigen für unsere Programmierung lediglich eine Funktion und eine Klasse.
Die Funktion muss später in der Funktion „onCreate“ aufgerufen werden und übernimmt das hochzählen der Einstellung und gegebenenfalls das Anzeigen des Pop-Ups.
Die Klasse ist dann das DialogFragment.

Fügt in eure Hauptklasse ein:

public static int bewertung(int i, Context cxt){
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(cxt);
    SharedPreferences.Editor editor = pref.edit();

    // Fange bei 0 an zu zählen und addiere die übergebene Zahl i auf die momentan gespeicherte Zahl auf.
    int currentAufrufe = pref.getInt("Aufrufe", 0);

    // Speichere die neue Zahl (alte Zahl + übergebene Zahl i).
    editor.putInt("Aufrufe", currentAufrufe + i);
    editor.commit();

    // Gib die neue Zahl zurück.
    return currentAufrufe + i;
}

// Kleine Klasse zum Erstellen eines Dialogs.
public static class BewertungDialog extends DialogFragment {

    Context cxt;

    public void setContext(Context context){
        cxt = context;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        // Dialog erstellen
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

        // Befülle den Dialog mit einem beliebigen Text
        builder.setMessage("Möchtest du unsere App im Google PlayStore bewerten?")

                // Erstelle einen Button mit der man eine Bewertung abgeben möchte
                .setPositiveButton("Bewertung abgeben", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // Erhöhe die Anzahl in den Einstellungen
                        bewertung(20, cxt);

                        // Ruft den entsprchenden PlayStore Eintrag auf
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=[DEIN PACKAGE NAME]"));
                        startActivity(i);

                        // Schließe das Dialogfeld, beim Klick auf den erstellten Button
                        dismiss();
                    }
                })

                // Erstellt einen Button, nach dem man keine Bewertung abgeben möchte
                .setNegativeButton("Nein", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        //Schließe das Dialogfeld, beim Klick auf den erstellten Button
                        dismiss();
                    }
                });
        // Gib das erstellte Dialogfeld an die aufrufende Klasse zurück, um es anzeigen zu können.
        return builder.create();
    }

}

 

Achtet darauf, dass ihr in der Zeile 37 das „[DEIN PACKAGE NAME]“ auch durch den Package Namen eurer App ersetzt.
Diesen Namen findet ihr in eurer Hauptklasse ganz oben. Das sieht in etwa so aus: „package [DEIN PACKAGE NAME];“.

 

Fügt an eine beliebige Stelle in der „onCreate“ Funktion ein:

int currentAufrufe = bewertung(1, this);
if(currentAufrufe == 10 || currentAufrufe == 20){
    DialogFragment newFragment = new BewertungDialog();
    newFragment.show(this.getFragmentManager(), "Bewertung");
}

 

 

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld