Перезапись Firebase RemoteConfig

Как работает Remote Config - Джузеппе Джакоппо

TLTR; Я разработал библиотеку Kotlin, которая должна быть более гибкой, чем Firebase RemoteConfig 😎

Вы можете найти это здесь: https://github.com/GiuseppeGiacoppo/RemoteConfig

Это для любого проекта Kotlin, не только для Android 🎉

Если вы разработчик Android, рано или поздно вы столкнетесь с одной из самых распространенных проблем этого мира:

Как что-то изменить в производственном приложении, не выпуская новую версию?

Я не имею в виду что-то большое, например, развертывание новой функции или изменение всего процесса, но есть много общих проблем:

  • Заставьте пользователей обновить приложение. Иногда вы решаете ошибку, и вам нужно остановить определенную версию приложения.
  • Измените некоторые части бизнес-логики. Вы хотите отключить или включить какую-либо функцию, изменить базовый URL-адрес службы API и т. Д.
  • Сделайте пользовательский интерфейс настраиваемым удаленно. Это может быть этикетка, сообщение или ваша цветовая палитра.

Круто, правда? Да, но..

Но есть проблема: вы вынуждены использовать единую структуру "ключ-значение" 😒 Нет возможности иметь такие сложные объекты, как этот:

И у вас не может быть нескольких конфигураций с разной логикой выборки:

По этим причинам я решил переписать RemoteConfig 🙌

Моя версия RemoteConfig - Джузеппе Джакоппо

Прежде всего я определил, что должна делать библиотека. Для каждой конфигурации (также называемой RemoteResource ):

  • Позвольте пользователю установить конфигурацию по умолчанию
  • Позвольте пользователю получить конфигурацию с удаленного
  • Разрешить пользователю активировать конфигурацию вручную

Еще один важный шаг - определить:

  • Класс, который может соответствовать структуре конфигурации
  • Где находится удаленная конфигурация (также называемая ResourceRemoteRepository )
  • Где можно сохранить загруженную конфигурацию (ResourceLocalRepository )

С помощью нескольких строк кода:

  • RemoteResource класса MessagesConfig зарегистрирован в библиотеке RemoteConfig. Он определяет, где можно сохранить конфигурацию и откуда ее можно получить.
  • Экземпляр MessagesConfig может быть легко внедрен и доступен в вашем приложении (KTX меняет правила игры)

Есть и другие интересные функции, которые вы можете найти в readme. У вас может быть несколько конфигураций, соответствующих одному классу, вы даже можете расширить свой собственный удаленный репозиторий и предоставить свою конфигурацию как YAML, необработанный файл или любой другой формат!

Не стесняйтесь попробовать и дайте мне знать в комментариях, что вы думаете об этом!

Библиотека с открытым исходным кодом и доступна на Github по этой ссылке: https://github.com/GiuseppeGiacoppo/RemoteConfig

Если вы приехали сюда, я открою вам секрет: я работаю над расширением для Android, поэтому вы можете хранить файлы конфигурации в соответствии с рекомендациями Android (API файлов Java не лучший вариант в этой среде) 👌

Suggested posts

Переход с Dagger2 на Hilt в многомодульном проекте

Переход с Dagger2 на Hilt в многомодульном проекте

Пошаговое руководство по переходу с Dagger на Hilt в многомодульном проекте. Структура проекта Для визуализации проекта он содержит несколько модулей NetworkModule, StorageModule, CommonModule, FeatureModule и т. д.

Андроид | Gboard был обновлен с новым макетом для планшетов

Google обновил раскладку своей клавиатуры как раз к запуску Pixel Fold и Pixel Tab.

Андроид | Gboard был обновлен с новым макетом для планшетов

Google недавно обновил свое приложение клавиатуры Gboard для Android, включив новый макет, оптимизированный для планшетов. Сегодня утром я заметил, что мне трудно печатать, и при дальнейшем осмотре я понял, что клавиатура была заменена.

Related posts

Обучение на рабочей неделе важнее, чем вы думаете

Обучение на рабочей неделе важнее, чем вы думаете

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

Конкурс Goodreads Reading Challenge токсичен

Конкурс Goodreads Reading Challenge токсичен

Зуд в моей руке распространился, когда я торговалась с местным книгопродавцом за еще одну книгу. Эта книга, как и остальные, которые я купил недавно, займет свое место в моей стопке «Для чтения» (TBR); и тем не менее, я купил его.

Финансирование удаления углерода в 24 финансовом году

Разбивка запросов на ассигнования Carbon180 по направлениям

Финансирование удаления углерода в 24 финансовом году

Элисон Ли, управляющий советник по связям с правительством Процесс ежегодных ассигнований федерального правительства занимает центральное место в наших усилиях по финансированию удаления двуокиси углерода (CDR). Каждый год Carbon180 направляет запросы в различные офисы Конгресса, чтобы помочь определить, куда пойдут доллары в следующем году.

местоимения очень страшные

Это поражает меня Внезапно, как это часто бывает, Это снова и снова на полпути <Нет, не то, что в Тихом океане, ты темно-бордовый, то, что на карнавале> Каждый громкий заголовок…..