Alles über Beschreibungen, Grafiken und Bildschirmfotos

Applikationen auf F-Droid können App-Store-Inhalte zur Verfügung stellen, um ihre dortige Präsenz interessanter und informativer zu gestalten.

Dies wird ab F-Droid-Version 0.103 und ab fdroidserver-Version 0.8 unterstützt.

Kriterien für den Neueste-Tab

Im F-Droid-Client werden seit Version 1.6 nur Applikationen im Neueste-Tab angezeigt, die über alles Folgende verfügen:

  • Name
  • Zusammenfassung
  • Beschreibung
  • Lizenz
  • ein Changelog für wenigstens eine Version
  • mindestens eine Grafik (Screenshot oder Feature-Grafik)
  • mindestens eine der oben genannten übersetzt

Weitere Details können Sie der Ankündigung entnehmen.

Datenformat

Bilddateiformat

Bilder können im PNG- oder JPEG-Format bereitgestellt werden. Sie müssen auf png, jpg oder jpeg enden.

Bitte beachten Sie, dass gefährliche und nicht benötigte Metadaten aus Bilddateien entfernt werden, bevor sie in das Repo aufgenommen werden. Zum Beispiel stellen EXIF-Daten in JPEG-Dateien ein Sicherheitsrisiko dar und werden für die Bildanzeige nicht gebraucht. Das bedeutet, dass Bilder auch neu komprimiert werden können.

HTML-Beschreibungen

Die detailierte App-Beschreibung darf HTML gebrauchen. Bitte beachten Sie, dass nicht alle Tags dargestellt werden können.

  • Häufige Tags wie li, a mit href, ul, ol, li, b, u und i werden unterstützt.
  • Manche Tags sind explizit verboten. Diese sind: applet, base, body, button, embed, form, head, html, iframe, img, input, link, object, picture, script, source, style, svg und video.
  • Ein Zeilenumbruch wird automatisch in ein br-Tag umgewandelt.
  • JavaScript ist nicht erlaubt.

Möglichkeiten zur Bereitstellung von Metadaten

Metadaten können in einem der folgenden drei Wege zur Verfügung gestellt werden.

Im Quellrepository der Applikation

Für das offizielle F-Droid-Repository wird aus den folgenden Gründen stark angeraten, Metadaten im Quellrepository der Anwendung hinzuzufügen:

  • Die Metadaten der Applikation stehen unter der direkten Kontrolle der Inhaber des Repositorys
  • Metadata vom Repository wird automatisch in die F-Droid-Paketquelle kopiert (es sind also keine Merge Requests erforderlich)

F-Droid unterstützt zwei verschiedene Dateistrukturen. Das Ziel ist es, mit bestehenden freien Werkzeugen kompatibel zu sein, welche es ermöglichen, Anwendungen auf Google Play zu veröffentlichen. Es ist nicht erforderlich, eines dieser Programme zu installieren; die Dateistruktur kann einfach von Hand erstellt werden.

Bitte seien Sie sich bewusst, dass die Texte in der Metadaten-Datei der App alle anderen beschreibenden Texte durch die hier erläuterten Strukturen ersetzen. Das gilt insbesondere für Name, Summary und Description. Sobald Metadaten-Felder, die zuvor in der Metadaten-Datei gewesen sind, in das Quellrepository der App verschoben wurden, erstellen Sie bitte einen Merge Request oder ein Ticket, um Summary und Description aus der Metadaten-Datei der App zu entfernen oder entfernen zu lassen.

Für weitere Details, siehe die Präzidenzregeln am Ende der Datei.

F-Droid nutzt nur Metadaten-Dateien von der letzten veröffentlichten Version der App. Das bedeutet, dass fdroiddata die letzte bekannte Version auschecken wird und das Repository auf dem Stand dieser Version nach Metadaten-Dateien durchsuchen wird.

Alle Metadaten-Dateien sind völlig optional, abgesehen von der kurzen, zusammenfassenden Beschreibung sowohl als auch der ausführlichen Beschreibung. Allerdings werden Anwendungen, die bestimmte Kriterien nicht erfüllen, nicht auf dem Neueste-Tab angezeigt.

Fastlane-Struktur

Die erste der beiden Strukturen zielt darauf ab, mit dem Programm fastlane supply kompatibel zu sein.

Die grundliegende Struktur sieht wie folgt aus. Beachten Sie die Hinweise auf der rechten Seite. Wenn diese Struktur erstellt ist, muss sie noch wie unten beschrieben richtig platziert werden.

├── en-US                       (F-Droid weicht auf en-US aus)
│   ├── short_description.txt   (kurze Beschreibung, max. 80 Zeichen, obligatorisch)
│   ├── full_description.txt    (ausführiche App-Beschreibung, obligatorisch)
│   ├── title.txt               (Name der App)
│   ├── video.txt               (URL eines Video, was die App vorstellt)
│   ├── images
│   │   ├── icon.png            (App-Icon, obligatorisch, wenn die App kein png-Icon beinhaltet)
│   │   ├── featureGraphic.png  (Werbebanner, wird oben in der F-Droid-Client angezeigt; Querformat)
│   │   ├── tvBanner.png        ("Icon" für Fernsehgeräte, momentan nicht in Verwendung)
│   │   ├── phoneScreenshots
│   │   │   ├── 1.png
│   │   │   ├── 2.png
│   │   │   ...
│   │   ├── sevenInchScreenshots/
│   │   ├── tenInchScreenshots/ (verschiedene Screenshots für verschiedene Größen lassen sich hinzufügen)
│   │   ├── tvScreenshots/
│   │   └── wearScreenshots/
│   └── changelogs
│       ├── 100000.txt          (muss genau mit versionCode übereinstimmen)
│       ├── 100100.txt          (wenn versionCode 100100 wäre)
│       └── 100101.txt          (maximale Größe: 500 Zeichen)
└── ru                          (andere Sprachkürzel)
    ...                         (übersetzte Metadaten werden von der Client immer bevorzugt)
    └── changelogs
        └── 100100.txt

Diese Struktur muss, ausgehend vom Wurzelverzeichnis des Repositorys, an einer der folgenden Stellen platziert werden:

  • metadata/
  • fastlane/metadata/android/

Vorsicht: wird diese Struktur irgendwo anders platziert, zum Beispiel im Wurzelverzeichnis des Gradle-Moduls, dann funktioniert es nicht.

Build-Varianten (build flavors) und mehrere Apps in einem Repository werden momentan nicht sinnvoll unterstützt. (Dieses Ticket verfolgt den Implementierungsstand hiervon.)

Triple-T-Struktur

Die zweite unterstützte Struktur ist kompatibel mit dem Tool Triple-T Gradle Play Publisher.

Platzieren Sie die folgende Struktur unter <module>/src/main/play/ oder, für die Unterstützung von build flavor, unter <module>/src/<buildFlavor>/play/, wobei <module> das Gradle-Modul Ihrer Anwendung ist (in vielen Fällen ist dies nur der Ordner app):

├── contact-email.txt                   (E-Mail der Entwickler / AuthorEmail)
├── contact-website.txt                 (Website der Entwickler / AuthorWebSite)
├── release-notes
│   └── en-US
│       └── default.txt                 (jüngstes Änderungsprotokoll)
└── listings
    ├── en-US                           (en-US ist Standardsprache in F-Droid)
    │   ├── title.txt                   (App-Name)
    │   ├── short-description.txt       (Kurzbeschreibung, max. 80 Zeichen, obligatorisch)
    │   ├── full-description.txt        (ausführliche App-Beschreibung, obligatorisch)
    │   ├── video-url.txt               (URL zu einem Video, das die App vorstellt)
    │   ├── whatsnew                    (alternativer Ort für ein Änderungsprotokoll; einfache Datei, kein .txt)
    │   └── graphics
    │       ├── icon                    (App-Symbol; obligatorisch, wenn die App kein png-Symbol enthält)
    │       │   └── *.(png|jpg)         1 Bild, normalerweise 512x512
    │       ├── feature-graphic         (Werbebanner, das über der App-Beschreibung im F-Droid-Client angezeigt wird)
    │       │   └── *.(png|jpg)         1 Bild, normalerweise 1024x500
    │       ├── phone-screenshots
    │       │   └── *.(png|jpg)
    │       ├── tablet-screenshots
    │       │   └── *.(png|jpg)
    │       ├── large-tablet-screenshots
    │       │   └── *.(png|jpg)
    │       ├── tv-banner               („Symbol“ für TV-Geräte, momentan nicht verwendet)
    │       │   └── *.(png|jpg)
    │       ├── tv-screenshots
    │       │   └── *.(png|jpg)
    │       └── wear-screenshots
    │           └── *.(png|jpg)
    ├── de                              (weitere Sprachen)
        ├── ...

In die Build-Metadaten einer App in einer fdroiddata Sammlung

Anmerkung: Diese Option ist nur für diejenigen gedacht, die ihre eigenen Repositorys hosten. Wenn Sie ein Entwickler sind, der eine Anwendung in das Hauptrepository von F-Droid aufnehmen möchten, wählen Sie diese Option nicht aus. Insbesondere dürfen Screenshots nicht hinzugefügt werden zu das fdroiddata-Repository.

Metadatendateien können auch zu jedem fdroiddata-Repository von Build-Metadaten hinzugefügt werden. Die Dateistruktur ist ebenfalls nach Fastlane modelliert und sieht genauso aus wie oben gezeigt, mit den folgenden zusätzlichen Anmerkungen.

  • Platzieren Sie die Struktur an der folgenden Stelle: <fdroiddata>/metadata/<packageId>/
    • Zum Beispiel würde sich, für en-US, title.txt an dieser Stelle befinden: <fdroiddata>/metadata/<packageId>/en-US/title.txt
  • Statt short_description.txt sollte die Datei mit der Kurzbeschreibung summary.txt heißen.
  • Statt full_description.txt, sollte die ausführliche Beschreibung mit description.txt benannt werden.
  • Folgt man den beiden o. g. Punkten nicht, wird das Auslesen scheitern.

Im F-Droid-Repo

Anmerkung: Diese Option ist nur für diejenigen verfügbar, die ihre eigenen Repositorien hosten.

Das Endziel der Dateien aus dem Originalrepo der App und der Metadaten-Unterverzeichnisse von fdroiddata ist im F-Droid-Repo. Der gesamte Text wird in die Index-Datei (auch bekannt als index-v1.json) übernommen. Alle Grafikdateien können direkt ins Repo aufgenommen werden.

Wenn sich Grafikdateien auch im Quelltext der App oder in den fdroiddata befinden, dann werden die Dateien direkt im Repo überschrieben.

Sie dürfen keine Textdateien direkt in das Repo stellen.

Zur Referenz können Bilddateien an den folgenden Orten in das Repo gestellt werden:

- fdroid
  └── repo
      └── <package-id>
          └── <locale>
              ├── featureGraphic.png
              ├── icon.png
              ├── tvBanner.png
              ├── phoneScreenshots
              │   └── *.png
              ├── sevenInchScreenshots
              │   └── *.png
              ├── tenInchScreenshots
              │   └── *.png
              ├── tvScreenshots
              │   └── *.png
              └── wearScreenshots
                  └── *.png

Priorität

Die folgenden allgemeinen Vorrangregeln werden angewendet, wenn mehrere der oben genannten Optionen Metadaten liefern:

  • Die Metadaten-Datei (d. h. <fdroiddata>/metadata/<packageId>.yml) überschreibt fdroiddata-Dateien, auch lokalisierte.
  • Die fdroiddata-Dateien überschreiben Metadaten aus der Anwendungsquelle.
  • Für Daten, die auch in der APK-Datei enthalten sind, wie der Name der Anwendung, überschreiben die beiden vorherigen Optionen die Daten aus der APK-Datei.

Es gilt jedoch auch die folgende spezifischere Regel:

  • Grafikdateien aus der Quelle der App fdroiddata überschreibt Dateien im Repo.