Android: является ли использование одного и того же идентификатора приложения для нескольких магазинов хорошей практикой?

#android #gradle #android-productflavors #applicationid

#Android #gradle #android-productflavors #applicationid

Вопрос:

Я настраиваю разные варианты приложений для своего приложения Android, чтобы создавать разные версии приложений для разных магазинов приложений.

Теперь мне интересно, должен ли я лучше использовать один и тот же applicationId для всех магазинов или мне всегда следует использовать новый applicationId для нового магазина?

Столкнусь ли я с какими-либо подводными камнями при использовании одного и того же applicationId для всех магазинов?

Комментарии:

1. У вас должен быть уникальный идентификатор приложения для каждого приложения. Итак, если вы опубликовали его, используйте его, если несколько используют разные

Ответ №1:

Я бы посоветовал вам использовать то же applicationId самое. В противном случае пользователи смогут устанавливать несколько версий вашего приложения.

Это из документации Android об идентификаторе приложения:

Каждое приложение для Android имеет уникальный идентификатор приложения, который выглядит как имя пакета Java, например com.example.myapp . Этот идентификатор однозначно идентифицирует ваше приложение на устройстве и в магазине Google Play.

Комментарии:

1. Спасибо за ответ. Я думаю, что использование одного и того же идентификатора приложения позволит play Store обновлять приложение, даже если оно было установлено из другого магазина. Таким образом, пользовательская версия другого магазина будет перезаписана версией Google Play, что может плохо сказаться на пользовательском интерфейсе?

2. Я думаю, что пользователи будут более смущены, если у них дважды будет установлено одно и то же приложение. Есть ли у вас какой-либо конкретный вариант использования или почему вы думаете, что ваши пользователи будут устанавливать и обновлять ваше приложение из разных источников?

3. Это правда, но с этим могут быть и другие проблемы. Использование одного и того же идентификатора приложения (обычно) позволяет всем магазинам обновлять приложение. Если я хочу опубликовать одну версию приложения с сервисами Google в play Store и одну версию приложения с сервисами Huawei в магазине Huawei, было бы очень плохо, если, например, магазин Huawei обновит приложение из play Store и заменит сервисы Google сервисами Huawei. Я объяснил это в ответе ниже.

Ответ №2:

Еще несколько исследований привели меня к выводу, что использование того же applicationId (предложенного oemel09) является лучшим вариантом (по крайней мере, в моем случае).

  • Таким образом, приложение нельзя установить дважды на один и тот же телефон. (Два приложения с одинаковым applicationId именем не могут быть установлены на одном телефоне.)
  • Однако приложение, установленное из магазина X, затем может быть обновлено другой версией магазина Y. Это может привести к проблемам, если версия приложения из магазина X немного отличается от версии one form Store Y.
  • Использование разных сертификатов (подписание приложений) для двух магазинов приложений решает эту проблему. Разные сертификаты не позволят одному магазину перезаписывать версию приложения другого магазина. (В случае, если вы, как и я, активировали App signing by Google Play , вы все равно не сможете использовать один и тот же сертификат.)