2016-12-20 6 views
3

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

  • Альфа для IT-тестами
  • Beta для партнеров
  • производства для всех остальных

Однако я использую mixpanel для отслеживания некоторых данных, вводимых пользователем. Mixpanel требует, чтобы токен работал, и у меня есть 2 из них, один для бета-тестирования и другой для производства, он загружается с mixpanel.init("token1") при запуске приложения.

В настоящее время я создаю apk без маркера, определенного для работы в alpha, а затем создаю еще один с token1 для запуска в бета-версии, а затем еще один apk с token2 для запуска в prod. Это работает, но это боль.

Я хочу использовать опцию promote в консоли разработчика Google Play, поэтому я мог бы создать один единственный автоматический (apk), который будет повышен до бета-версии, когда это необходимо, и знает, на каком этапе он находится, поэтому он использует токен соответственно.

Возможно ли это? Если нет, есть ли лучший способ заставить его работать?

TL; DR Хотите знать, на каком этапе (alpha/beta/prod) работает приложение, поэтому оно использует переменную токена.

+0

Привет, вам удалось найти решение для этого? – Magda

+0

К сожалению, я не нашел оптимального решения. Мы создали скрытое меню, в котором только альфа-тестеру известно, как включить и разрешить им изменять токен во время выполнения. Поэтому мы всегда строим с помощью токена производства, но альфа меняем его вручную перед тестированием. Служил наш случай. – tpsilva

+0

Я также спросил в андроидах и кордовах слабых каналах, в обоих из них люди сказали, что нет никакого способа сделать это. – tpsilva

ответ

1

Я не уверен, поможет ли это, но вы используете build.gradle для создания разных продуктов? Вы можете сделать это так, чтобы он генерировал класс с различными конечными константами в каждом типе сборки.

Так для прод сборки, вы можете сделать что-то вроде этого:

prod { 
applicationId "zuul.com.android" 
buildConfigField 'String', 'HOST', '"http://api.zuul.com"' 
buildConfigField 'String', 'FLAVOR', '"prod"' 
buildConfigField "boolean", "REPORT_CRASHES", "true" 
} 

и выходит так:

BuildConfig.HOST 
BuildConfig.FLAVOR 
BuildConfig.REPORT_CRASHES 

И тогда вы можете иметь один для DEV, бета, или без разницы.

Проверьте эти ссылки:

http://blog.brainattica.com/how-to-work-with-flavours-on-android/

Deploying multiple build variants at a time - Android studio gradle

+0

Но с ароматами мне все равно нужно построить 3 из них и отправить в магазин по отдельности для каждой стадии, не так ли? Я хочу использовать вариант продвижения. – tpsilva