Привет!
Я разрабатываю приложение для сдачи экзамена на водительские права с использованием Flutter и реализовал покупки в приложении с помощью пакета in_app_purchase. Покупки работают корректно и могут быть успешно завершены. Приложение также использует Вход в Google для аутентификации пользователя.
Описание проблемы
После покупки разового (непотребляемого) продукта покупка всегда связана с аккаунтом Google Play, который использовался для первоначальной установки приложения.Даже если я позже переключусь на другую учетную запись Google на устройстве и войду в приложение при использовании входа в Google приложение по-прежнему обрабатывает покупку так, как если бы она принадлежала учетной записи, из которой первоначально загрузилось приложение.
Ожидаемое поведение
Я ожидал, что функция восстановления вернет данные о покупке на основе активной в данный момент учетной записи Google Play на устройстве, а не учетной записи, в которой первоначально было установлено приложение.Изначально приложение не включало вход в Google или любое серверное соединение. Моей целью было определить статус покупки исключительно на основе активной учетной записи Google Play.
Код: Выделить всё
restorePurchasesФактическое поведение
- всегда возвращает покупки из учетной записи Google Play, в которой изначально было установлено приложение
Код: Выделить всё
restorePurchases - Смена учетной записи Google на устройстве не меняет восстановленные покупки
- Если я удалю приложение и переустановлю его, используя другую тестовую учетную запись, вместо этого будут возвращены покупки из этой учетной записи
- Такое поведение происходит, когда приложение находится на внутреннем тестировании
Я также попробовал интегрировать Вход в Google, надеясь, что это решит проблему, но на поведение это не повлияло. restartPurchases по-прежнему возвращает покупки из учетной записи, в которой изначально было установлено приложение.
Вопросы
- Не должна ли функция восстановления работать для каждого аккаунта Google Play?
- Ожидается ли такое поведение из-за того, что Google Play связывает покупки с установка учетной записи?
- Как эту ситуацию можно правильно обработать во Flutter при использовании пакета in_app_purchase?
- Использует ли пакет Flutter in_app_purchase внутреннюю Библиотеку выставления счетов Google Play или он использует другой API выставления счетов Google Play?
/> - Поможет ли переход непосредственно на Библиотеку платежей Google Play/API решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/798 ... -the-googl
Мобильная версия