Alles über Beschreibungen, Grafiken und Bildschirmfotos

Jede App kann vollständige App-Store-Inhalte besitzen, einschließlich lokalisierter Beschreibungen, Funktionsgrafiken und Bildschirmfotos (wie bei v0.103 der F-Droid-App und v0.8 von fdroidserver). Dies ist möglich, sowohl wenn Apps über die Herstellung aus Metadaten hinzugefügt werden, als auch wenn vorgefertigte Dateien in ein einfaches Repository aufgenommen werden. Um App-Store-Inhalte für Apps einzuschließen, gibt es drei Wege (nach Priorität geordnet):

Es gibt zwei Datenformate:

  • beschreibende Materialien in einfachen Text- oder HTML-Dateien
  • Grafiken und Bildschirmfotos als PNG- oder JPEG-Dateien

Wichtige Detailinformation: gefährliche und nicht benötigte Metadaten werden aus Bilddateien entfernt, 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 kann auch bedeuten, dass Bilder nochmals komprimiert werden.

Im Originalrepository der App

Es gibt zwei Möglichkeiten, App-Store-Materialien in ein Originalrepository einer App einzuschließen: Die Bereitstellung über fastlane und Triple-T Gradle Play Publisher. Beides sind freie Software-Tools, die sich in den Workflow eines Android-Entwicklers integrieren. Sind die Dateien erst einmal im Originalrepo der App erfasst und sind diese Dateien Teil einer zur Freigabe markierten App-Version, wird F-Droid alle diese Dateien miteinbeziehen.

Letztlich ist es nicht einmal nötig, die Instrumente fastlane supply oder Gradle Play Publisher tatsächlich zu installieren oder zu nutzen. Die Aufnahme dieser Dateien in F-Droid beruht lediglich auf der Standard-Dateianordnung, die diese Tools verwenden.

Alle lokalisierten Beschreibungen und Grafiken werden automatisch im F-Droid-Repo erscheinen, sobald sie im Quellrepo einer Version abrufbar sind, die das Repo herstellt. Sind diese Dateien, zum Beispiel in einem Git Repo Master-Zweig enthalten, aber noch nicht zur Veröffentlichung markiert, werden sie nicht aufgenommen.

Das letzte wichtige Detail ist, dass die Texte in der Metadaten-Datei der App alle anderen beschreibenden Texte von Fastlane/Triple-T überschreiben. Das gilt insbesondere für Name, Summary und Description. Sobald Sie die app-beschreibenden Texte hochgeladen haben, erstellen Sie einen Merge Request oder Issue, um Summary und Description aus der Metadaten-Datei der App zu entfernen bzw. entfernen zu lassen.

Hier ist die allgemeine Regel, den Index aus den Metadatenquellen zu füllen:

metadata file --> fdroiddata localized files --> fastlane/triple-t in app source

Für Dinge, die auch aus dem APK entfernt werden können, erhalten wir:

metadata file --> fdroiddata localized files --> fastlane/triple-t in app source --> APK

In die Build-Metadaten einer App in einer fdroiddata Sammlung

Alle App-Store-Materialien können auch in jedes fdroiddata Repository mit Build-Metadaten eingefügt werden. Dessen Dateianordnung folgt dem Aufbau in fastlane supply mit Anpassungen, um in den Workflow von fdroiddata zu passen. Alle Dateien in dieser Anordnung werden ins Repo kopiert und dem Reporegister durch fdroid updatehinzugefügt.

- <fdroiddata>/
  └── metadata/
      └── <package-id>/
          └── <locale>/
              ├── full_description.txt
              ├── short_description.txt
              ├── title.txt
              ├── video.txt
              ├── changelogs/
              │   ├── <version-code>.txt
              │   └── <version-code>.txt
              └── images/
                  ├── featureGraphic.png
                  ├── icon.png
                  ├── promoGraphic.png
                  ├── tvBanner.png
                  ├── phoneScreenshots/
                  │   └── *.png
                  ├── sevenInchScreenshots/
                  │   └── *.png
                  ├── tenInchScreenshots/
                  │   └── *.png
                  ├── tvScreenshots/
                  │   └── *.png
                  └── wearScreenshots/
                      └── *.png

Die Bilder müssen entweder JPEGs oder PNGs sein.

Beispiel:

Direkt ins F-Droid-Repo

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 Grafikdateien auch in der App-Quelle oder in fdroiddata vorhanden sind, werden die Dateien im Repo überschrieben. Textdateien aus der Struktur von fastlane werden ignoriert, wenn sie im Repo sind.

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

fdroid update fügt alle im Repo gefundenen Grafikdateien dem Index hinzu. fdroid server update synchronisiert alle Dateien im Repo mit den verschiedenen Orten, an denen das Repo tatsächlich gehostet wird.