Разработка двух версий одного и того же приложения в Android Studio

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

Я управляю этими двумя версиями с двумя разными проектами студии Android и двумя разными репозиториями.

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

Итак, как лучше поступить в этой ситуации? Любые другие идеи приветствуются.

Заранее спасибо за вашу помощь


person fapps    schedule 04.02.2015    source источник


Ответы (1)


Ароматы Gradle - это то, что вы ищете. С ними вы можете иметь весь общий код и ресурсы в одном месте, поэтому нет необходимости его копировать, а код и ресурсы, отличающиеся в другом месте. Вкусы также предоставляют удобный способ создания нескольких версий приложения.

Из того, что вы описываете, кажется, что обе ваши версии приложения почти одинаковы, поэтому в вашем случае вам просто нужно логическое значение, чтобы различать их:

if (FULL_VERSION) {
    unlockFeature();
}
else {
    showAd();
}

Вы можете реализовать это, создав класс для каждого варианта, один с константой, установленной в true, а другой с константой, установленной в false. Более объектно-ориентированный дизайн будет состоять в том, чтобы иметь класс, который открывает функцию для одного варианта, а другой показывает рекламу для другого.

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

person LukaCiko    schedule 04.02.2015
comment
Если я могу спросить, что вы считаете лучшим подходом для удаления рекламы с использованием метода покупки в приложении? - person Marcus; 12.02.2015