Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Проблемы с установкой в разных магазинах в приложениях Android

При использовании общих идентификаторов пакетов Android для одновременной публикации в нескольких магазинах покупок внутри приложений Android (например, Samsung и Google) возникают проблемы с установкой в ​​разных магазинах. На этой странице описаны результаты этих конфликтов и способы решения проблемы.

Сценарий установки между магазинами — это сценарий, в котором пользователь устанавливает приложение из одного магазина (магазин A), а затем обновляет установку приложением из другого магазина (магазин B). Возможность обновить установку пользователя принадлежит магазину, в котором размещена новейшая версия приложения. Этот сценарий может возникнуть, если обе сборки приложения используют один и тот же идентификатор пакета Android и ключ подписи.

Например, com.foo.bar публикуется в Google Play и Amazon Appstore. Пользователь, у которого установлены оба магазина приложений, может установить com.foo.bar из Amazon Apps и получить обновленную версию из Google Play. Это может привести к потере транзакций цифровых продуктов IAP и невозможности восстановить ранее совершенные транзакции.

Влияние проблем с установкой в ​​разных магазинах

Конфликт между хранилищами может вызвать неразрешимые проблемы конечных пользователей с приложениями, использующими IAP. Пользователи могут обнаружить, что теряют покупки при удалении/переустановке, а также теряют все покупки в процессе, прерванные обновлением в нескольких магазинах.

В результате возникают следующие проблемы с IAP:

  • Потеря незавершенных покупок. Это происходит, если пользователь выполняет обновление после того, как покупка была одобрена, но до того, как приложение подтвердило получение покупки от биллинговой системы магазина. Это может произойти, если приложению не удается своевременно синхронизироваться с облачной службой инвентаризации или происходит сбой приложения до сохранения этого нового IAP в локальной базе данных инвентаризации.

  • Отказ от покупок в магазине A. Это происходит, если пользователь переустанавливает приложение из магазина B после завершения транзакций IAP в магазине A. Он не сможет восстановить эти транзакции. Многие магазины прямо запрещают приложениям доступ к системам IAP других магазинов. Чтобы обойти это, используйте облачную систему инвентаризации вместе с зависимой от нее службой идентификации пользователей.

  • Расходящиеся списки продуктов IAP. Это происходит, если обновленный список продуктов в приложении магазина Б отличается от списка в версии магазина А. Вы можете предоставлять разные каталоги IAP. Это может привести к ошибке приложения при чтении несовместимого локального инвентаря в версии магазина B, или пользователь может потерять ранее приобретенный инвентарь, который недоступен в версии магазина B.

Решение проблем с установкой в ​​разных магазинах

Существует два способа разрешения конфликтов между магазинами:

  • использовать уникальные ключи подписи для каждого хранилища (это приводит к сообщениям об ошибках обновления из конфликтующего хранилища) или
  • использовать уникальные идентификаторы пакетов для каждого магазина (это может привести к дублированию установленных приложений для пользователя).
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3