Кастомные шрифты в Paywall Builder
Визуальная согласованность — основа хорошего дизайна. При создании no-code пейволов вы можете захотеть использовать собственный шрифт, чтобы он соответствовал стилю остального приложения. Здесь мы разберём, как настраивать шрифты и как их применять.
Этот раздел описывает новый Paywall Builder, который работает с iOS, Android и React Native SDK версии 3.0 и выше, а также с Flutter и Unity SDK версии 3.3.0 и выше. Информация о legacy Paywall Builder, совместимом с Adapty SDK v2.x и ниже, — в статье Кастомные шрифты в legacy Paywall Builder.
Что можно настроить
Каждый текстовый элемент в Paywall Builder может иметь собственный шрифт и стиль. Настроить это можно в элементах управления шрифтами для каждого текстового блока:
В ряде случаев удобнее сменить шрифт сразу для всего пейвола. Это можно сделать в разделе Layout в Paywall Builder, настроив Paywall Font.
Шрифты, доступные по умолчанию
При создании пейвола в Builder Adapty по умолчанию использует системный шрифт — как правило, SF Pro на iOS и Roboto на Android, хотя это может варьироваться в зависимости от устройства. Также доступны часто используемые шрифты: Arial, Times New Roman, Courier New, Georgia, Palatino и Verdana. Каждый из них поддерживает несколько вариантов начертания:
Эти шрифты не поставляются в составе Adapty SDK и используются только для предпросмотра. Мы не можем гарантировать их корректную работу на всех устройствах. Тем не менее по результатам нашего тестирования большинство устройств распознаёт эти шрифты без каких-либо дополнительных действий с вашей стороны. Вы также можете посмотреть, какие шрифты доступны по умолчанию на iOS.
Как добавить кастомный шрифт в дашборд Adapty
Если стандартного набора недостаточно, вы можете добавить кастомный шрифт. После добавления он будет доступен во всём приложении и его можно использовать для любого текстового блока на любом пейволе.
- Выберите Add custom font в любом из выпадающих списков шрифтов:
- В окне Add Custom Font:
- Загрузите файл шрифта (максимальный размер: 10 МБ).
- Введите название для использования в Paywall Builder.
- Укажите правильные названия шрифта для обеих платформ.
- Убедитесь, что файл шрифта включён в бандл вашего приложения, если это ещё не сделано.
Загружаемый файл шрифта не передаётся на устройство — он используется только для предпросмотра. SDK получает лишь строки с указанием шрифта, применяемого при отрисовке пейвола. Поэтому вы должны включить тот же файл шрифта в бандл приложения и указать правильные платформенные названия шрифта — иначе всё не будет работать корректно. Не переживайте, это займёт совсем немного времени.
Загружая файл шрифта в Adapty, вы подтверждаете, что имеете право использовать его в своём приложении.
Как узнать правильное название шрифта на iOS
Есть два способа получить правильный идентификатор шрифта: первый требует небольшого кода, второй — использования приложения Font Book, доступного на macOS.
Если вы уже добавили кастомный шрифт в бандл своего приложения, скорее всего, вы уже обращаетесь к нему по названию. Чтобы проверить, вызовите UIFont.familyNames(), чтобы получить family name шрифта, а затем передайте его в UIFont.fontNames(forFamilyName: familyName). Это можно сделать в viewDidLoad, после чего удалить фрагмент кода:
override func viewDidLoad() {
super.viewDidLoad()
...
for family in UIFont.familyNames.sorted() {
print("Family: \(family)")
let names = UIFont.fontNames(forFamilyName: family)
for fontName in names {
print("- \(fontName)")
}
}
}
Значение fontName из этого фрагмента — это то, что вам нужно. Оно может выглядеть примерно как «MyFont-Regular».
Второй способ проще: установите шрифт на Mac, откройте приложение Font Book, найдите нужный шрифт и используйте его PostScript name:
Как узнать правильное название шрифта на Android
Если вы правильно добавили файл шрифта в папку ресурсов, просто укажите имя этого файла. Убедитесь, что оно написано строчными буквами и содержит только буквы, цифры и символы подчёркивания — иначе шрифт может не работать.
Правильность имени файла можно проверить, вызвав ResourcesCompat.getFont(context, R.font.my_font), где my_font — используемое вами имя файла. Именно это значение — my_font — нужно указать при создании кастомного шрифта в Adapty.
Добавление файлов шрифтов в бандл приложения
Если вы уже используете кастомный шрифт в другом месте приложения, просто добавьте шрифты для пейвола тем же способом. Если нет — убедитесь, что файл шрифта включён в проект и бандл приложения. Подробные инструкции:
- На iOS: В официальной документации Apple
- На Android: В официальной документации Android
При скачивании архивов со шрифтами из Adapty вы получаете все варианты начертания. Добавляйте в бандл приложения только те файлы шрифтов, которые действительно используются в вашем пейволе, — это поможет уменьшить размер приложения. Например, если в пейволе используется только OpenSans-Regular.ttf, не включайте OpenSans-Bold.ttf в бандл приложения.