Приложения на 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 перезаписывают файлы в репозитории.