App Ratings & Reviewsfür macOS

Ein Skript für den Mac · App Store Connect und Google Play

Google Play vergisst deine Rezensionen nach sieben Tagen. Apple zählt Abstürze erst ab heute.

Dieses Skript holt Bewertungen, Rezensionen und Absturzdaten deiner Apps jeden Tag ab und legt sie auf deinem Mac ab. Daraus entsteht eine eigene, lückenlose Historie, ein Bericht im Browser und eine Zusammenfassung, die du weitergeben kannst.

1Befehl
2Stores
3Ergebnisse
0Server, Cloud, Tracking
Terminal
~/app-ratings-reviews ❯ ./ratings.sh all Abruf 13 Ziele · 6 Apps · Apple und Google Pocket Gardener Apple Rezensionen ✓ ok 1,4 s 3 neu TrailMate GPS Apple Rezensionen ✓ ok 2,0 s 5 neu Sleepy Sounds Apple Rezensionen ✓ ok 1,4 s 2 neu Quiz Rocket Apple Rezensionen ✓ ok 2,0 s 4 neu 1 geändert Pocket Gardener Google Rezensionen ✓ ok 1,3 s 2 neu Habit Hero Google Rezensionen ✓ ok 1,5 s 1 neu TrailMate GPS Apple Stabilität ✓ ok 1,4 s 8 Tage … 6 weitere Ziele Laufzeit 25,1 s · 13 Ziele · 0 mit Fehler · 59 neu · 1 geändert · 1.845 gesamtBericht erzeugt → reports/report.html · Browser geöffnetMarkdown → reports/markdown/ · 6 Dateien + ZIP
Der Bericht im Browser: Ø 4,02 Sterne aus 512 Rezensionen, Verteilung und 76 % positiv
reports/report.html · öffnet sich von selbst

Für Apple. Für Google.

Beide Stores wissen viel über deine Apps. Beide behalten es nicht für dich.

Das Skript nimmt von jedem Store, was er hergibt, und füllt die Lücken, die er lässt.

App Store

App Store Connect API · Apple Analytics

Was Apple liefert
Rezensionen aus allen Ländern mit Antwort des Entwicklers, die offizielle Store-Bewertung je Land, dazu Sitzungen und Abstürze je Tag, Version, iOS-Version und Gerät.
Was Apple dir vorenthält
Stabilitätsdaten gibt es erst ab dem Tag, an dem du sie einrichtest. Rezensionen tragen keine App-Version und kein Gerät. Sehr kleine Datenmengen blendet Apple ganz aus.
Was das Skript daraus macht
Eine Absturzrate je 1000 Sitzungen, die du Woche für Woche neben die negativen Rezensionen legen kannst. Und eine Historie, die ab deinem ersten Abruf nie wieder abbricht.

Google Play

Google Play Developer API · CSV-Import

Was Google liefert
Rezensionen mit App-Version, Gerät und Android-Version, mit Sprache und Antwort des Entwicklers. Mehr Kontext je Rezension als bei Apple.
Was Google dir vorenthält
Die Schnittstelle liefert nur die Rezensionen der letzten sieben Tage. Was du nicht in dieser Zeit abholst, bekommst du nur noch über den CSV-Export der Play Console.
Was das Skript daraus macht
Ein täglicher Abruf, der mehr als sieben Tage zurückschaut und Doppeltes erkennt. Ältere Rezensionen holst du einmalig per CSV nach, danach läuft es von selbst.

Die Lücke

Was die Stores dir zeigen, und was auf deinem Mac bleibt.

Dieselben 120 Tage, drei Mal. Jeder Balken ist ein Tag mit Daten.

Google Play APIRezensionen der letzten 7 Tage
vor 120 Tagen113 Tage wegheute
Apple AnalyticsAbstürze erst ab Einrichtung
vor 120 TagenEinrichtungheute
Mit dem Skripttäglich abgerufen, lokal gesichert
vor 120 Tagen120 von 120 Tagenheute

Deshalb täglich. Das Skript merkt sich je App, wann der letzte Abruf gelungen ist, und holt beim nächsten Mal nur Neues. Mehrfach am Tag ist gefahrlos, Doppeltes gibt es nicht. Mit ./ratings.sh daily läuft es von selbst über cron oder GitHub Actions.

30 Sekunden

Vom Befehl zum Bericht, einmal durchgespielt.

Ein kurzer Film zum Skript, mit Ton.

Ein Befehl, drei Ergebnisse

Was nach ./ratings.sh all auf deinem Mac liegt.

Alles sind Dateien. Du kannst sie öffnen, kopieren, verschicken oder archivieren.

01

Der Bericht im Browser

Eine einzelne HTML-Datei, die offline funktioniert. Sterne, Verteilung, Verlauf, Versionen im Vergleich, Stabilität je Gerät, und jede Rezension im Volltext mit Filter nach App, Land, Sprache, Sternen und Zeitraum. Export als CSV oder JSON.

reports/report.html
Bericht mit Filtern und offiziellen Store-Kennzahlen
02

Die Zusammenfassung zum Weitergeben

Pro App und Store eine Markdown-Datei der letzten 14 Tage: Kennzahlen gegen den vorherigen Zeitraum, Sterne, Stabilität und die neuen Rezensionen. Lässt sich in Mail, Slack oder ein Wiki kopieren, ohne Formatierung zu verlieren.

reports/markdown/trailmate-gps-apple.md
Markdown-Zusammenfassung von TrailMate GPS mit Vergleich zum vorherigen Zeitraum
03

Die Übersicht und das ZIP

Eine Übersicht aller Apps in einer Tabelle, mit Link zur Datei jeder App. Dazu ein ZIP mit allen Zusammenfassungen, fertig zum Versenden an Kollegen oder Kunden.

reports/markdown/uebersicht.md · markdown.zip
Markdown-Übersicht aller Apps der letzten 14 Tage

Das Material

Aus 512 Texten wird eine Zahl, und die Zahl bleibt nachprüfbar.

Jede Rezension wird beim Abruf mit dem bisherigen Stand verglichen: neu, geändert oder unverändert. Änderungen landen in einer eigenen Historie.

4,02/ 5

aus 512 Rezensionen berechnet, getrennt von der offiziellen Store-Bewertung

5 ★287
4 ★100
3 ★36
2 ★26
1 ★63

Ein Beispiel

Ein Update, zwei Signale, sieben Wochen.

TrailMate GPS, Herbst 2026. So sieht es aus, wenn Abstürze und Rezensionen im selben Bild liegen.

Woche 3 · Version 3.0

Die Absturzrate springt

Nach dem Update steigt die Rate von 3,3 auf 17,47 Abstürze je 1000 Sitzungen. Im Bericht siehst du es am nächsten Morgen, nicht nach dem nächsten Quartalsbericht.

Woche 3 bis 5 · Rezensionen

Die Rezensionen kippen

Negative Rezensionen häufen sich in genau denselben Wochen. Der Wochenverlauf legt beides übereinander.

„Since 3.0 the app closes every time I open the map.“
Stabilität nach Gerät

Die Ursache eingrenzen

Die Tabellen nach Version, iOS-Version und Gerät zeigen: iPhone 3,9, iPad deutlich mehr. Das Problem sitzt in der Kartenansicht auf dem iPad.

Woche 5 · Version 3.0.1

Der Fix wirkt, und es steht schwarz auf weiß

Die Markdown-Zusammenfassung der nächsten 14 Tage belegt es: 2,90 je 1000 Sitzungen, Ø Sterne von 3,67 auf 4,00. Genau diese Datei schickst du dem Kunden.

„Map works again on iPad. Thanks for the quick update.“
TrailMate GPS · AppleWochenverlauf
09-0709-1409-2109-2810-0510-1210-19 3.0 iPad 3.0.1 17,47 2,90
Abstürze je 1000 Sitzungennegative Rezensionen (1–2 ★)

Einrichten

Fünf Minuten, dann läuft es jeden Tag.

Gebraucht wird Python 3.10 oder neuer. Fehlt es auf dem Mac, installiert macOS es beim ersten Aufruf von python3 mit den Command Line Tools. Die einzige Abhängigkeit richtet das Skript selbst ein.

1

Herunterladen

Das Repository auf den Mac holen. Es ist öffentlich und kostenlos, ein Konto brauchst du nicht. Mehr Installation gibt es nicht.

git clone https://github.com/drapatzc/app-ratings-reviews-online.git
cd app-ratings-reviews-online

Repository auf GitHub

2

Zugänge eintragen

Apple-Schlüssel (.p8) und, falls nötig, der Google-Dienstzugang kommen als Datei oder Umgebungsvariable. Nie in die Konfiguration.

cp config/config.example.json config/config.json
# Apps, Issuer-ID, Key-ID eintragen
export APPLE_PRIVATE_KEY=~/AuthKey.p8
3

Menü starten

Taste 1 holt alles, baut den Bericht und öffnet den Browser. H zeigt in jedem Menü die Hilfe, Q beendet. Für den Alltag reicht das Kurzmenü mit drei Punkten: abrufen, Status, Bericht.

./menu.sh
# Kurzmenü:
./kurzmenu.sh
# oder ohne Menü:
./ratings.sh all
macOS mit Python 3.10 oder neuer; für den Dauerbetrieb auch Linux- oder Windows-ServerApp Store Connect API-Schlüssel, Rolle Kundensupport oder höherFür Android: Google-Dienstkonto mit Leserechten in der Play Console
./ratings.sh allabrufen, Bericht, Browser
./ratings.sh fetchnur abrufen
./ratings.sh stabilitynur Abstürze und Sitzungen
./ratings.sh reportBericht ohne Netz
./ratings.sh markdownZusammenfassungen und ZIP
./ratings.sh dailyfür cron, einmal am Tag
./ratings.sh statusStand aller Apps
./ratings.sh dry-runProbelauf, speichert nichts
./ratings.sh import-csvältere Google-Rezensionen

Datenschutz

Drei Dinge, die das Skript nicht tut.

Es schickt nichts weg.

Die Daten liegen als JSON-Dateien auf deinem Mac. Kein Server, keine Datenbank, keine Cloud. Der Bericht ist eine einzelne HTML-Datei und funktioniert offline.

Es speichert keine Schlüssel in der Konfiguration.

Der Apple-Schlüssel und der Google-Dienstzugang kommen als Datei oder Umgebungsvariable. Schlüssel in der Konfiguration lehnt das Skript ab, Logs werden geschwärzt.

Es löscht nichts von allein.

Jeder Abruf ergänzt. Löschen geht nur bewusst, mit Sicherung in backups/ und ausgeschriebener Bestätigung.

Fragen

Ist der Ø-Wert die offizielle Store-Bewertung?

Nein. Der Durchschnitt im Bericht wird aus den erfassten Rezensionen berechnet. Die offizielle Gesamtbewertung je Land steht getrennt in der Tabelle „Offizielle Store-Kennzahlen“.

Was passiert, wenn ich mehrmals am Tag abrufe?

Nichts Schlimmes. Doppelte Einträge gibt es nicht, und innerhalb einer Wartefrist von 30 Minuten schickt das Skript gar keine Anfragen. Mit --force lässt sich das übergehen.

Warum fehlen bei Apple App-Version und Gerät?

Die App Store Connect API liefert diese Angaben zu Rezensionen nicht. Für Apple kommen Versionen, Geräte und iOS-Versionen aus den Stabilitätsdaten. Google liefert sie direkt mit der Rezension.

Kann ich ältere Google-Rezensionen nachholen?

Ja, einmalig über den CSV-Export der Play Console: im Menü Punkt 7 oder mit ./ratings.sh import-csv.

Mehrere Kunden, viele Apps?

Beliebig viele Kunden und Apps in einer Konfiguration. Abruf, Bericht und Markdown lassen sich je Kunde, App und Plattform einschränken.

Ist der Bericht auch auf Englisch?

Menü und Bericht sind derzeit auf Deutsch. Die Befehle von ratings.sh sind englisch.