Можно ли обнаружить, что приложение для Android является либо бета-версией, либо производственной версией?

Мы используем бета-стадию в игровом магазине google. Для функциональности обновления стороннего силового приложения мы хотим определить, идет ли наше приложение либо с этапа бета-тестирования, либо с этапа производства в магазине Google Play. Возможно ли это в приложениях для Android?

Если имя версии вашего приложения ( android:versionName ) всегда содержит строку «бета» для бета-версий, вы можете получить имя пакета во время выполнения и проверить это.

Используйте метод getPackageInfo() для извлечения объекта PackageInfo который имеет поле versionName String.

Другим подходом было бы использовать android:versionCode . Например, вы можете решить, что ваши бета-версии всегда имеют код нечетной версии, а в выпусках выпуска всегда есть один. Вы можете использовать getPackageInfo() для извлечения кода версии и определения на основе этого.

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

https://developers.google.com/android-publisher/edits/overview

https://github.com/googlesamples/android-play-publisher-api/blob/master/v2/java/src/com/google/play/developerapi/samples/ListApks.java

Вы можете добавить строку в свои ресурсы, называемую «VERSION», и дать ей соответствующее значение. Из вашего приложения вы можете проверить этот идентификатор и сделать все, что требуется