Фон
В моем приложении есть кнопка «Оцените меня». Он идет по обычному пути - пользователь нажимает, запускает намерение и открывает список приложений в Play Store. Все хорошо. Теперь я хочу попробовать распространить свое приложение через разные магазины приложений (например, Amazon), поэтому, очевидно, что если пользователь нажимает кнопку «Оценить меня», я не хочу, чтобы он отправлял пользователя в Магазин Google Play, но в любое другое место. магазин они получили это.
APK для каждого магазина
Это возможно, правда, но я думаю, что это будет полный кошмар (например, создание нового APK для каждого магазина каждый раз, когда я выпускаю новое обновление).
Поэтому я ищу что-то вроде этого псевдокода:
if(rate-me button pressed){
if (from Google Play Store){
Go to Google Play Store
}
else if (from Amazon Store){
Go to Amazon Store
}
}
И так далее.......
Я предполагаю, что есть способ (который обязательно должны использовать некоторые приложения), но я понятия не имею, как это сделать.
источник
Ответы:
Я собираюсь предположить, что вы пишете на Java так же, как пишете для Android, но если вы этого не сделаете, вы можете найти методы на своем языке и получить такой же результат. Поскольку в Java нет встроенной поддержки условной компиляции, здесь можно сделать несколько простых вещей; иногда низкотехнологичное решение является лучшим.
Разверните другое приложение, скомпилированное из другого кода для каждого магазина приложений. Это может быть так просто. Просто имейте глобальную строку (или нет, инкапсулируйте ее там, где есть соответствующая логика) и просто присвойте ей значение, скомпилируйте и разверните. Это так просто.
Это может быть строка, значение перечисления или целое число. Это не имеет большого значения - если каждое значение уникально для магазина приложений. Я бы предложил быстрое перечисление со строгим шрифтом с такими опциями, как «Amazon», «GooglePlay», «XXXX», «ZZZZ», «YYYY». Напишите сценарии для изменения этого значения или передайте флаги компиляции, используя сторонние инструменты, если вы хотите, чтобы это было автоматизировано.
Автоматизация
Если вы хотите сделать еще один шаг вперед, проанализируйте опцию как файл ресурсов . Написание сценариев, по одному для каждого развертывания. Создайте файл с именем «store.dat» и запишите значение хранилища, в котором он развертывается, в файл при развертывании. Если вы используете Linux или OSX, это может быть что-то простое, например:
Создайте один сценарий для выполнения всех этих сценариев на шаге блокировки, и вы получите надежное, автоматизированное решение.
источник
попробуй это:
источник