Все, что нужно знать об описаниях, иллюстрациях и скриншотах

Приложения на F-Droid могут предоставлять контент для магазина приложений, чтобы сделать свою страницу приложения более интересной и информативной.

Это поддерживается в F-Droid с версии 0.103 и fdroidserver версии 0.8.

Критерии вкладки «Последние»

В клиенте F-Droid, начиная с версии 1.6, на вкладке «Последние» отображаются только те приложения, которые имеют все перечисленное ниже:

  • Имя
  • Icon
  • Сводка
  • Описание
  • Лицензия
  • запись “Что нового” по крайней мере для одного выпуска
  • как минимум одно изображение (снимок экрана или графический объект)
  • как минимум один из вышеперечисленных переводов

Узнайте больше в объявлении.

Формат данных

Форматы файлов изображений

Изображения могут быть предоставлены в формате PNG или JPEG. Они должны иметь окончание png, jpg или jpeg.

Важно отметить, что из файлов изображений до их загрузки в репозиторий удаляются опасные и ненужные метаданные. Например, данные JPEG EXIF нарушают безопасность и при этом совершенно не нужны для корректного отображения картинки. Это также означает, что изображения могут быть повторно сжаты.

HTML-описания

В подробном описании приложения могут использоваться HTML-теги. Обратите внимание, что не все теги поддерживаются средством визуализации.

  • These simple layout tags are supported: b, big, blockquote, br, cite, em, i, li, ol, small, strike, strong, sub, sup, tt, u, ul.
  • a и href на данный момент разрешены, но могут быть удалены без предупреждения.
  • Определенные теги прямо запрещены, а именно: applet, base, body, button, embed, form, head, html, iframe, img, input, link, object, picture, script, source, style, svg и video.
  • Обратите внимание, что разрыв строки будет автоматически преобразован в тег br.
  • Вы не можете использовать JavaScript.

Способы предоставления метаданных

Добавить метаданные можно тремя способами.

В репозитории с исходным кодом приложения

Для официального репозитория F-Droid настоятельно рекомендуется добавлять метаданные в исходный репозиторий приложения по следующим причинам:

  • Метаданные приложения находятся под прямым контролем владельцев репозитория
  • Метаданные из репозитория автоматически копируются в репозиторий F-Droid (таким образом, запросы на слияние не требуются)

F-Droid поддерживает две различные файловые структуры. Они нацелены на совместимость с существующими бесплатными программными инструментами, позволяющими публиковать приложения в Google Play. Устанавливать какие-либо из этих инструментов не требуется, вместо этого можно легко создать файловую структуру вручную.

Имейте в виду, что содержимое файла метаданных приложения переписывает любые другие тексты описаний, предоставленные с помощью структур, описанных ниже. Это влияет на имя, обзор приложения и его описание. Как только информация, которая ранее располагались в файле метаданных будет перенесена в репозиторий с исходным кодом, можно подать запрос на слияние или сообщить о проблеме, чтобы удалить секции Summary и Description из файла метаданных приложения.

Для получения дополнительных сведений см. правила приоритета, описанные в конце этого файла.

F-Droid будет использовать файлы метаданных только последней версии. Это означает, что fdroidserver проверит последнюю известную ему версию и просканирует репозиторий в состоянии этой версии на предмет файлов метаданных.

Все файлы метаданных являются необязательными, за исключением краткого сводного описания, а также более подробного полного описания. Однако приложения, которые не соответствуют определенным критериям, не будут отображаться на вкладке «Последние».

Структура Fastlane

Первая из двух структур нацелена на совместимость с инструментом fastlane supply.

Базовая структура файла следующая. Обратите внимание на примечания справа. При создании этой конструкции ее необходимо разместить в правильном положении, как показано ниже.

├── en-US                       (en-US это резервный язык F-Droid)
│   ├── short_description.txt   (краткое описание, не более 80 символов, обязательно)
│   ├── full_description.txt    (полное описание приложения, обязательно)
│   ├── title.txt               (название приложения)
│   ├── video.txt               (URL-адрес видеоролика с описанием приложения)
│   ├── images
│   │   ├── icon.png            (значок приложения, обязательно, если ваше приложение не включает png иконки)
│   │   ├── featureGraphic.png  (рекламный баннер, отображаемый в верхней части описания приложения в клиенте F-Droid; горизонтальная ориентация)
│   │   ├── tvBanner.png        ("значок" для тв устройств, в настоящее время не используется)
│   │   ├── phoneScreenshots
│   │   │   ├── 1.png
│   │   │   ├── 2.png
│   │   │   ...
│   │   ├── sevenInchScreenshots/
│   │   ├── tenInchScreenshots/ (вы можете добавлять разные скриншоты для разных размеров экрана)
│   │   ├── tvScreenshots/
│   │   └── wearScreenshots/
│   └── changelogs
│       ├── 100000.txt          (должен соответствовать versionCode, буквально, без заполнения)
│       ├── 100100.txt          (если код версии был установлен на 100100)
│       └── 100101.txt          (максимальный размер: 500 символов)
└── ru                          (коды других языков)
    ...                         (клиент всегда предпочитает локализованные метаданные)
    └── changelogs
        └── 100100.txt

Эта структура должна быть размещена в одном из следующих мест корня репозитория:

  • metadata/
  • fastlane/metadata/android/

Обратите внимание, что размещение структуры где-нибудь еще, например, в корне модуля gradle, не сработает.

Варианты сборки и несколько приложений в одном репозитории сейчас не поддерживаются в полной мере. (Отслеживайте в этой задаче)

Структура Triple-T

Вторая поддерживаемая структура совместима с инструментом Triple-T Gradle Play Publisher.

Поместите следующую структуру в <модуль>/src/main/play/ или, для поддержки варианта сборки, в <модуль>/src/<вариантсборки>/play/, где <модуль> является gradle модулем вашего приложения (во многих случаях это просто папка app):

├── contact-email.txt                   (Email разработчика/автора)
├── contact-website.txt                 (Сайт разработчика/автора)
├── release-notes
│   └── en-US
│       └── default.txt                 (последние изменения)
└── listings
    ├── en-US                           (en-US - локаль по умолчанию в F-Droid)
    │   ├── title.txt                   (название приложения)
    │   ├── short-description.txt       (краткое описание, не более 80 символов, обязательно)
    │   ├── full-description.txt        (полное описание приложения, обязательно)
    │   ├── video-url.txt               (URL-адрес видео, представляющего приложение)
    │   ├── whatsnew                    (альтернативное расположение журнала изменений; один файл, без .txt)
    │   └── graphics
    │       ├── icon                    (значок приложения; обязателен, если приложение не включает других png-значков)
    │       │   └── *.(png|jpg)         1 изображение, обычно 512x512
    │       ├── feature-graphic         (промо-баннер, отображается над описанием приложения в клиенте F-Droid)
    │       │   └── *.(png|jpg)         промо-баннер, отображаемый в верхней части описания приложения в клиенте F-Droid
    │       ├── phone-screenshots
    │       │   └── *.(png|jpg)
    │       ├── tablet-screenshots
    │       │   └── *.(png|jpg)
    │       ├── large-tablet-screenshots
    │       │   └── *.(png|jpg)
    │       ├── tv-banner               ("значок" для тв устройств, в настоящее время не используется)
    │       │   └── *.(png|jpg)
    │       ├── tv-screenshots
    │       │   └── *.(png|jpg)
    │       └── wear-screenshots
    │           └── *.(png|jpg)
    ├── de                              (другие локали)
        ├── ...

В метаданных сборки приложения в коллекции fdroiddata

Примечание: Эта опция предназначена только для владельцев собственных репозиториев. Если вы разработчик, который хочет разместить свое приложение в главный репозиторий F-Droid, не выбирайте эту опцию. В частности, нельзя добавлять скриншоты в репозиторий fdroiddata.

Файлы метаданных могут быть добавлены в любой fdroiddata репозиторий метаданных сборки. Структура файлов создана на основе fastlane и выглядит так, как приведено выше, с учетом следующих примечаний.

  • Поместите структуру в следующее место <fdroiddata>/metadata/<packageId>/
    • К примеру, для en-US, title.txt будет находиться в: <fdroiddata>/metadata/<packageId>/en-US/title.txt
  • Вместо short_description.txt, файл краткого описания должен быть назван summary.txt.
  • Вместо full_description.txt, файл полного описания должен быть назван description.txt.
  • Несоблюдение указанных требований приводит к отказу linter.

В репозитории F-Droid

Примечание: Эта опция предназначена только для владельцев собственных репозиториев.

Желаемый итог всех манипуляций с файлами из репозитория с исходным кодом и папок с метаданными из fdroiddata — переместить их в основной репозиторий F-Droid. Все тексты попадают в специальный индекс-файл (называемый index-v1.json). Все изображения можно добавлять сразу в репозиторий F-Droid.

Если в исходном коде приложения или в репозитории fdroiddata тоже есть изображения, они перепишут файлы, добавленные напрямую.

Вы не должны помещать текстовые файлы напрямую в репозиторий.

Для справки, файлы изображений могут быть размещены в репозитории в следующих местах:

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

Приоритет способов

Когда несколько из перечисленных параметров предоставляют метаданные, применяются следующие общие правила выбора:

  • Файл (i. e. <fdroiddata>/metadata/<packageId>.yml) перезаписывает файлы fdroiddata, даже если те локализованы.
  • Файлы fdroiddata переопределяют метаданные из приложения.
  • Для данных, которые также содержатся в APK файле, вроде имени приложения, предыдущие обе опции перезатирают данные из APK.

Однако, также применяется следующее более специфичное правило:

  • Графические файлы из источника приложения fdroiddata перезаписывают файлы в репозитории.