Промо-коды для покупок в приложении нарушают проверку удаленного сервера?
Освобождение промо-кодов для покупок в приложениях похоже на то, что это предотвратит попытку приложения (когда-либо снова) выполнить проверку покупки на удаленном сервере!
Когда промо-код используется для покупки в приложении (трансляция PURCHASES_UPDATED
), он полностью обходит поток покупок, поэтому приложение не имеет возможности поставлять "DeveloperPayload" , используемый для удаленной проверки.
Позже, когда приложение вызывает getPurchases() для получения/проверки продуктов владельца, данные о покупке для промо-покупок не будут содержать "developerPayload"
, но не "orderId"
, также полезно для удаленной проверки с помощью API разработчика Google Play.
Как приложение должно проверять покупки в приложении, сделанные с помощью промо-кодов?
Предоставление пользователям возможности выкупа промокодов через приложение/сайт Google Play Store, минуя поток покупок, похоже на серьезный надзор, который не должен быть возможным.
Отчеты о проблемах:
Похожие записи:
Ответы
Ответ 1
Это действительно проблема безопасности со стороны Google, поэтому я собираюсь предложить обходной путь.
Наряду с промо-кодом предоставляют пользователям идентификатор сервера, сгенерированный вашим сервером, при получении промо-акции проверяют идентификатор сервера и принимают покупку только один раз.
При использовании с рынка отправьте идентификатор с помощью реферера. При использовании приложения у вас есть собственная логика для предоставления идентификатора сервера.
В нижней строке нет другого решения, но некоторые из них определяют пользователей с каким-то идентификатором.