Erweitern des „simple binary Repos“: Screenshots & mehr
Nach Umsetzung des ersten Teils ist das Repository erstellt und funktioniert: hat man es in den F-Droid Client der Wahl eingebunden, lässt es sich durchforsten. Aber es sieht ein wenig mager aus: keinerlei Screenshots, und hier und da fehlt wahrscheinlich sogar ein Icon. Das ist für die meisten recht unbefriedigend – weshalb sich dieser Artikel um die entsprechenden Erweiterungen kümmern soll.
Viele Ergänzungen bauen auf den Strukturen von Fastlane auf. Ich werde die jeweils entsprechenden Strukturteile an den jeweiligen Stellen beschreiben. Für einen Gesamt-Überblick mit weiteren Details (etwa empfohlene Größen für Grafiken) möchte ich jedoch gleich vorab auf mein Fastlane Cheat Sheet als Referenzen verweisen. Als „Beispiel-App“ greife ich im Folgenden wieder auf die com.example.app
zurück, und benutze ebenfalls die dort genannte Verzeichnis-Struktur.
Grafiken: Screenshots & mehr
Da dies für die meisten von Euch das Wichtigste ist, fangen wir auch gleich mit den Grafiken (und insbesondere den Screenshots) an. Die Hauptsache zuerst:
Grafische Dateien werden innerhalb des
repo/
-Verzeichnisses abgelegt.
Das tun wir also nun, und legen für unsere App dort ein Verzeichnis an:
cd /var/www/fdroid/repo
mkdir -p com.example.app/en-US
Hoppla: Was macht das en-US
dort? F-Droid ist von Haus aus multi-lingual, und amerikanisches Englisch wird als „Fall-Back“ für alles hergenommen, was in der Sprache des jeweiligen Anwenders nicht verfügbar ist. Damit unsere Grafiken also allen Besuchern unseres Repos zur Verfügung stehen, legen wir sie in en-US
ab.
Direkt im gerade erstellten Verzeichnis lassen sich zwei Grafiken unterbringen: Ein App-Icon (als icon.png
) sowie eine so genannte "Feature Graphik" (featureGraphic.png
oder featureGraphic.jpg
), die dann in der Detailansicht im Client über der App-Beschreibung angezeigt wird. Für die Screenshots selber legen wir unterhalb von en-US
ein weiteres Verzeichnis an: phoneScreenshots
. Zwar wären auch noch weitere Verzeichnisse (etwa für Screenshots von 10-Zoll-Tablets, Android TV etc) möglich – aber wir wollen es ja nicht übertreiben
Bitte denkt bei allen Grafiken daran, dass einige Eurer Besucher…
- eine schwache Netzverbindung
- ein kleines Display
- ein leistungsschwaches Gerät
- …
haben könnten. Versucht also:
- die Dateigröße gering zu halten. Mit Ausnahme des Icons (welches ein PNG sein muss) hilft da oft die Konvertierung zu JPG. In meinem Repo halte ich weiterhin die Feature-Graphic auf 512x250 und verkleinere Screenshots auf eine Breite (Portrait) bzw. Höhe (Querformat) von 350px.
- kein (übertriebenes) „Framing“. Der geringe „Screen Estate“ sollte wesentliche Details erkennen lassen. Große „leere Flächen“ rund um den eigentlichen Screenshot helfen niemandem.
Ihr müsst Euch nicht auf das phoneScreenshots
Verzeichnis beschränken, sondern könnt natürlich gern auch für die anderen Formate die im Fastlane Cheat Sheet beschriebenen Verzeichnisse verwenden. Die Entscheidung dafür liegt ganz bei Euch.
Mehrsprachige Beschreibungen
Textdateien werden innerhalb von
metadata/
abgelegt.
Auch hier folgt die Struktur wieder der von Fastlane. Verpassen wir unserer Beispiel-App also einmal englische und deutsche Beschreibungen:
cd /var/www/fdroid/metadata
mkdir -p com.example.app/en-US
mkdir -p com.example.app/de
OK, en-US
hatten wir bei den Screenshots schon betrachtet. Müsste es dann nicht auch de-DE
heißen? Solange Ihr nicht bestimmte Sprachvarianten (also z.B. de-AT
, de-CH
, de-DE
) parallel verwenden wollt, könnt Ihr das „halten wie die Dachdecker“. Nur en-US
muss existieren, da es als Fall-Back verwendet wird – für alle anderen Sprachen ist die Sprachvariante optional.
Wie im Fastlane Cheat Sheet beschrieben, können jetzt in jedem der sprachspezifischen Verzeichnisse die entsprechenden Textdateien angelegt werden. Die beiden entscheidenden sind:
short_description.txt
: Kurzbeschreibung, maximal 80 Zeichen (was länger ist wird radikal weggeschnitten!); wird immer im Kontext mit dem Namen der App angezeigt, den braucht Ihr also in der Kurzbeschreibung nicht wiederholen. Beschreibt kurz, knackig und aussagekräftig, wofür die App gedacht ist (also nicht "Foobar ist eine App für Foobar", sondern besser "verwalte Deine Grumpfels")
full_description.txt
: Merke: „full“, nicht „long“ – Masse ≠ Klasse. Hier kann auch einfaches HTML verwendet werden – also z. B. Tags wie P B I BR, Listen, CODE – jedoch z. B. kein<SCRIPT>
o. ä. Verwendet auch besser keine expliziten „Headings“ (insbesondere keine H1/H2): Bei Anzeige der Beschreibung auf Webseiten könnte das die dortige Struktur „zerreißen“ (sieht halt einfach besch… eiden aus).
Für die weiteren Dateien („icing on the cake“), schaut bitte in das Fastlane Cheat Sheet.
Weitere Tipps
- als Vorlage für neu hinzugefügte Apps mit den gewünschten Feldern (ohne Werte) kann als
template.yml
direct im Hauptverzeichnis des Repos (in unserem Beispiel:/var/www/fdroid
) abgelegt werden. Bei Aufruf vonfdroid update -c
wird diese dann bei Auffinden neuer Apps entsprechend immetadata/
abgelegt, so dass man sie nur noch anzupassen braucht. - wer sein Repo noch um Malware-Check etc. erweitern möchte, findet die bei IzzyOnDroid verwendeten Bibliotheken etc. im zugehörigen gitLab Repo. Die Konfiguration erfordert allerdings ein wenig technischen Hintergrund und ein gutes Stück Zeit.
- eine einfachere Variante für den Vorab-Check auf in einer App enthaltene Bibliotheken gibt es zu meinem auch bei F-Droid im Einsatz befindlichen „APK Library Scanner“ einen Artikel bei IzzyOnDroid: Module in Apps identifizieren. Die Ausgabe beinhaltet mittlerweile auch die Lizenz, unter der die jeweilige Library steht. Eine Statistik zu den verwendeten Library Definitions findet sich hier.
Das Repo bekannt machen
Jetzt ist es natürlich prima, das Repo erfolgreich und „hübsch“ an’s Fliegen bekommen zu haben – nur ohne User ist’s ein wenig traurig. Wie also sorgt man dafür, dass sich die Neuigkeit herumspricht – insbesondere, wenn man selbst nur geringe „Reichweite“ hat? Man schaut, dass es in möglichst vielen Repo-Listen auftaucht. Eine solche gibt es beispielsweise im F-Droid Forum. Eine weitere pflege ich hier. Auch Mondstern pflegt eine Liste – beide sind wir z. B. über Mastodon zu erreichen, und freuen uns über Hinweise.